À la fin de ce tutoriel, vous aurez un portfolio GitHub DevOps crédible pour un recruteur Platform/SRE en 2026 : 3–5 repos pinned, README qui convertit en 30 secondes, CI verte, IaC documentée en
ca-central-1, workflow OIDC sketch, scorecard recruteur et histoires STAR prêtes pour l’entretien.Niveau : Intermédiaire · Temps estimé : 55–75 min · Versions cibles : Git / GitHub CLI · GitHub Actions · Terraform ≥ 1.5 (validate) · Docker · Trivy (option) · Dernière vérification : 2026-09-11 · Region :
ca-central-1Slug :
wow-portfolio-github-devops· Série : WOW (50/50) · Mot-clé SEO : portfolio GitHub DevOps · Publish : HOLD← Précédent : System design DevOps · Aussi : Entretien DevOps 2026 · Homelab k3s · GitHub Actions reusable · Hubs Docker · Kubernetes · Git
Prérequis
- Compte GitHub public et
gitlocal ;ghCLI optionnel - Notions CI/CD et conteneurs — Docker · GitHub Actions OIDC AWS
- Bases IaC — Installer Terraform
- Profil AWS lab optionnel (pas de NAT/EKS) — Démarrer avec AWS
Coût estimé : ~0 €. Lab local + minutes Actions gratuites. Si vous faites un terraform apply, Free Tier + cleanup documenté.
export AWS_PROFILE=lab
export AWS_DEFAULT_REGION=ca-central-1
git --version
gh auth status 2>/dev/null || echo "gh optionnel — UI GitHub OK"
Ce que nous allons construire
Portfolio GitHub DevOps (WOW 50/50) — ca-central-1
├── Pourquoi repo > CV PDF (preuve d’exécution)
├── Architecture DEH : 3–5 repos pinned
├── Lab devops-portfolio-lab (structure + README + CI)
├── Profil GitHub : bio, pins, Topics
├── Sécurité : .gitignore, OIDC, pas de secrets
├── Scorecard recruteur + anti-patterns
└── Quiz + FAQ + lien entretien STAR
(Schéma — alt : « Recruteur DevOps ouvre un portfolio GitHub avec README, badges CI verts, IaC Terraform ca-central-1 et cleanup documenté ».)
Étape 1 — Pourquoi un portfolio beat un CV PDF
Un CV PDF liste des mots-clés. Un portfolio GitHub DevOps prouve que vous exécutez : README clair, pipeline verte, IaC versionnée, cleanup, ADR ou runbook. En 2026, le recruteur ouvre vos pins avant l’appel. Quarante forks vides ou un README « TODO » = 30 secondes perdues.
| Signal CV | Signal portfolio |
|---|---|
| « Terraform, K8s, CI/CD » | Repo avec terraform validate + badge Actions |
| « AWS » | Region ca-central-1, tags, coût & destroy |
| Soft skills | Issues/PR propres, LICENSE, Topics |
Preuve = README + CI verte + IaC + docs. Pas un monorepo de tutos copiés.
Étape 2 — Architecture portfolio DEH (3–5 repos)
Qualité > quantité. Pinner 3 à 5 repos max :
| # | Repo (exemple) | Ce que le recruteur vérifie |
|---|---|---|
| 1 | infra-lab-aws |
Terraform, ca-central-1, destroy |
| 2 | app-container-oidc |
Dockerfile + GH Actions OIDC |
| 3 | k8s-gitops-sketch / homelab k3s |
Manifests + README |
| 4 | (opt.) notes IDP | Golden path — Platform Engineering |
| 5 | (opt.) devops-portfolio-lab |
Hub + scorecard (ce lab) |
Ordre des pins : impact métier d’abord (infra ou app), puis GitOps, puis notes.
Étape 3 — Lab : créer devops-portfolio-lab
Objectif : repo actionnable (placeholders) avec structure, README, workflow, LICENSE, Topics. Region ca-central-1.
3.1 — Scaffold
mkdir -p devops-portfolio-lab/{infra,app/src,docs,.github/workflows}
cd devops-portfolio-lab
cat > .gitignore <<'GI'
.terraform/
*.tfstate*
*.tfvars
.env
*.pem
credentials.json
aws-credentials.txt
GI
printf '%sn' 'MIT License' '' 'Copyright (c) 2026 YOUR_NAME' > LICENSE
3.2 — Infra placeholder
# infra/main.tf
terraform {
required_version = ">= 1.5.0"
required_providers {
aws = { source = "hashicorp/aws", version = "~> 5.0" }
}
}
provider "aws" {
region = "ca-central-1"
default_tags {
tags = {
Project = "devops-portfolio-lab"
Environment = "lab"
ManagedBy = "terraform"
}
}
}
# Apply optionnel (Free Tier). Cleanup : terraform destroy
cat > infra/README.md <<'MD'
# Infra lab — ca-central-1
- CI : `terraform init -backend=false && terraform validate`
- Apply optionnel ; destroy obligatoire si apply
MD
3.3 — App + workflow CI
echo 'print("portfolio-lab ok")' > app/src/main.py
cat > app/Dockerfile <<'DF'
FROM python:3.12-slim
WORKDIR /app
COPY src/ ./src/
CMD ["python", "src/main.py"]
DF
cat > .github/workflows/ci.yml <<'YML'
name: ci
on:
push: { branches: [main] }
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: hashicorp/setup-terraform@v3
with: { terraform_version: "1.9.0" }
- name: fmt & validate
working-directory: infra
run: |
terraform fmt -check -recursive || true
terraform init -backend=false
terraform validate
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker build -t devops-portfolio-lab:ci ./app
# Option Trivy : docker run --rm aquasec/trivy image devops-portfolio-lab:ci
YML
3.4 — README qui recrute (hook 30s)
Créez README.md à la racine avec ce modèle :
# devops-portfolio-lab
> Preuve d’exécution DevOps — README · CI · IaC ca-central-1 · cleanup.

## Hook (30 s)
Lab portfolio pour recruteurs Platform : Terraform validate en **ca-central-1**,
app conteneurisée, Actions sans clés longues. Coût cible **~0 €**.
## Architecture
devops-portfolio-lab → infra/ (Terraform) · app/ (Dockerfile) · docs/ · .github/workflows/
## Quickstart
cd infra && terraform init -backend=false && terraform validate
docker build -t devops-portfolio-lab:local ./app
## Coût & cleanup
CI seule ≈ 0 €. Si apply AWS : Free Tier + `terraform destroy`. Pas de NAT/EKS.
## Sécurité
Pas de secrets dans Git. OIDC AWS (voir tutoriel OIDC DEH). Screenshots sans PII.
3.5 — Scorecard, commit, publish
cat > docs/SCORECARD.md <<'MD'
| Critère | Statut |
|---------|--------|
| README hook + architecture | OK |
| CI (validate + docker) | à confirmer après push |
| IaC ca-central-1 | OK |
| Observabilité minimale | à enrichir (/health) |
| Cleanup documenté | OK |
| ADR / runbook | stub docs/ |
MD
git init && git add . && git commit -m "feat: scaffold portfolio DevOps lab (ca-central-1)"
# gh repo create devops-portfolio-lab --public --source=. --remote=origin --push
# gh repo edit --add-topic devops --add-topic terraform --add-topic portfolio --add-topic ca-central-1
Via UI : repo public, Actions ON, Topics (devops, terraform, portfolio, ca-central-1), LICENSE, pin sur le profil.
Étape 4 — Profil GitHub qui convertit
| Élément | Recommandation DEH |
|---|---|
| Bio | Rôle + stack + region (ex. « DevOps/Platform · Terraform · K8s · AWS ca-central-1 ») |
| Pins | 1 infra · 2 app+OIDC · 3 GitOps/homelab · 4 hub |
| Graph | Commits réels — pas de greenwashing |
| Projects | Project « Portfolio 2026 » listant les pins |
| README profil | 5 lignes + liens — pas un roman |
Pas de screenshots avec emails, IPs privées ou ARNs prod.
Étape 5 — Sécurité (non négociable)
- Jamais de secrets dans Git —
.gitignoredès le commit 0 - OIDC vers AWS, pas d’access keys longues — OIDC AWS
- Scan historique :
git log -p | rg -i 'AKIA|secret|password' || true - Screenshots sans PII
- Region
ca-central-1— pasus-east-1« par défaut US »
Étape 6 — Scorecard recruteur & anti-patterns
| Critère | Attendu « wow » |
|---|---|
| README | Hook 30s, ASCII, quickstart, coût, cleanup, badges |
| CI | Verte sur main (validate et/ou build+scan) |
| IaC | Region explicite, tags, destroy doc |
| Observabilité | Healthcheck / logs minimaux |
| Cleanup | Commandes destroy + vérif console |
| ADR / runbook | ≥ 1 décision ou procédure |
Anti-patterns : 40 forks vides ; tutos copiés sans apport ; clés dans l’historique ; us-east-1 au lieu de ca-central-1 ; README EN only si cible FR/CA sans version FR ; monorepo fourre-tout.
Étape 7 — Lien entretien (STAR)
Préparez 2–3 histoires STAR depuis vos repos : « CI OIDC sans clé », « destroy après alerte coût », « README qui accélère l’onboarding ». Guide : wow-interview-devops-2026. En call, montrez le badge vert + le destroy — preuve > slide.
Erreurs fréquentes
| Erreur | Impact | Correction |
|---|---|---|
| 20+ repos pinned | Dilution | 3–5 pins, ordre métier |
| README sans quickstart/cleanup | Abandon recruteur | Hook + coût + destroy |
Clés / .tfstate dans Git |
Rejet sécu | .gitignore + OIDC + rotate |
| Region us-east-1 | Incohérence DEH | Forcer ca-central-1 |
| CI rouge ou absente | Pas de preuve | Workflow validate + docker |
| README EN only (cible FR/CA) | Friction locale | FR ou bilingue |
| Forks vides / clones | Signal faible | Apport + ADR |
Quiz (5 questions)
1. Un portfolio GitHub DevOps convainc surtout grâce à :
– A. Le nombre de stars
– B. Preuve d’exécution (README, CI, IaC, docs)
– C. Un CV PDF collé dans le repo
2. Combien de repos pinned recommande DEH ?
– A. 20+
– B. 3–5 (qualité > quantité)
– C. Exactement 1
3. Region lab imposée :
– A. us-east-1
– B. ca-central-1
– C. eu-west-3
4. Identité CI → AWS préférée :
– A. Access keys longues dans le repo
– B. OIDC + rôle court
– C. User root AWS
5. Anti-pattern majeur :
– A. LICENSE MIT
– B. Clés dans l’historique + forks vides
– C. Badge Actions
Réponses : 1‑B · 2‑B · 3‑B · 4‑B · 5‑B
FAQ
Un CV PDF suffit-il en 2026 ?
Rarement pour DevOps/Platform. Le recruteur veut voir CI, IaC et docs. Le portfolio complète le CV et tranche souvent.
Combien de repos montrer ?
3–5 pinned. Un hub excellent + deux labs solides battent quarante forks sans README.
Faut-il apply Terraform sur AWS ?
Non pour ce lab. terraform validate + Docker build suffisent (~0 €). Si apply : Free Tier + destroy en ca-central-1.
README en français ou en anglais ?
Cible FR/CA : FR (ou bilingue). Un README EN-only freine un panel québécois/FR.
Comment prouver l’OIDC sans AWS complexe ?
Documentez le sketch (trust OIDC, rôle) et liez github-actions-oidc-aws. Mieux qu’une clé longue « pour la démo ».
Lien avec l’entretien oral ?
2–3 STAR depuis vos repos (coût, OIDC, cleanup). Détail : wow-interview-devops-2026.
Pour aller plus loin
- Entretien DevOps 2026
- GitHub Actions reusable
- GitHub Actions OIDC AWS
- Homelab k3s
- System design DevOps
- Platform Engineering 2026
- Installer Terraform
- Hubs Docker · Kubernetes · Git
Maillage série WOW
| ← Précédent | System design DevOps |
| → Suivant | — (dernier tuto WOW 50/50) |
| Aussi | Entretien DevOps 2026 · Homelab k3s · GitHub Actions reusable · Platform Engineering |
Meta publication (SEO)
- Title SEO : Portfolio GitHub DevOps qui recrute (lab 2026 FR)
- Meta description : Construisez un portfolio GitHub DevOps qui recrute : README, CI verte, IaC ca-central-1, OIDC, scorecard recruteur. Lab devops-portfolio-lab + FAQ DEH.
- Focus keyword : portfolio GitHub DevOps
- Secondary : README DevOps, portfolio recruteur, GitHub Actions OIDC, ca-central-1
- Image :
assets/web/devopelastichayway/cover-wow-portfolio-github-devops-1200x630.webp(à générer) - Catégorie : WOW / DevOps · Niveau : Intermédiaire
- URL cible : https://devopelastichayway.com/tutoriels/wow-portfolio-github-devops/
- Post live : N/A (nouveau) · slug
wow-portfolio-github-devops· Publish : HOLD (draft only — feu vert Maître requis)
Pour aller plus loin — hubs live
Retour parcours Catalogue Tutoriels — hub de la série et leçons sœurs.