Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

☁️ Azure DevOps — Suite ALM & CI/CD (Microsoft)

Azure DevOps = Boards (agile), Repos (Git), Pipelines (CI/CD), Artifacts (packages), Test Plans (tests), Wiki + Extensions marketplace. Disponible en Azure DevOps Services (cloud) et Azure DevOps Server (on-prem).

1.1

Vue d’ensemble

Définition, “ALM suite”, cloud vs on-prem, où ça brille (enterprise, Azure, compliance).

DevOpsALMMicrosoft
1.2

Architecture

Orga (Org/Project), permissions, service connections, storage artifacts, agents.

Org/ProjectRBACService Conn.
1.3

Boards (Agile)

Backlog, epics/features/stories, sprints, kanban, queries, dashboards, work items.

AgileScrumKanban
2.1

Repos (Git)

Repos Git privés, branch policies, PR checks, code reviews, hooks, monorepo.

GitPRPolicies
2.2

Pipelines (CI/CD)

YAML pipelines, stages/jobs/steps, templates, variables, approvals, environments.

YAMLCI/CDApprovals
2.3

Agents & Pools

Microsoft-hosted vs self-hosted agents, pools, capabilities, scaling, caches.

AgentsPoolsScale
3.1

Artifacts (Packages)

Feeds NuGet/npm/Maven/PyPI, versionning, promotion, provenance, supply chain.

PackagesFeedsSupply chain
3.2

Test Plans & QA

Test cases, suites, runs, traçabilité du besoin au test, reporting qualité.

QATraceabilityReporting

Sécurité & Gouvernance

RBAC, service connections, secrets, approvals, audit, policies PR, conformité.

RBACSecretsAudit
4.1

Performance & FinOps

Parallélisme, minutes CI, cache, rationalisation pipelines, coûts agents.

ParallelCacheFinOps
4.2

Bonnes pratiques

Templates YAML, environnements, gates, artefacts immuables, blue/green, rollback.

TemplatesGatesImmutable

Migration

Mapping Jenkins/Bamboo → Azure DevOps, stratégie de bascule, checklist, pièges.

MigrationCI/CDChecklist
5.1

Extensions & Marketplace

Extensions Azure DevOps/VS marketplace : tasks, connecteurs, scanners, dashboards.

MarketplaceTasksIntegrations
5.2

Liens & ressources

Pages officielles : produit, docs pipelines, schéma YAML, agents, pricing, server.

DocsPricingLearn
1.1 Azure DevOps — définition, éditions, positionnement
Azure DevOps en 30 secondes

Azure DevOps est une suite “end-to-end” pour gérer le cycle de vie du logiciel : planification agile, code (Git), CI/CD, packages, tests, documentation. Très présent en contexte entreprise (RBAC, conformité, audit), et s’intègre naturellement à l’écosystème Azure/Microsoft.

But : réunir work management + source control + CI/CD + artefacts dans un même produit, avec gouvernance cohérente.
Catégorisation IDEO-Lab
DevOps CI/CD Agile / ALM Gouvernance
Diagramme “dev → plan → code → build → release”
Users / Stakeholders
  └─ Boards: epics / features / stories / tasks
        │
        ▼
Repos (Git) + PR policies + reviews
        │ (trigger)
        ▼
Pipelines (YAML)
  ├─ stages / jobs / steps
  ├─ templates + variables
  └─ approvals + environments
        │
        ▼
Artifacts (packages) + test reports + releases
            
Ce qui fait la différence
  • Suite intégrée : boards + repos + pipelines + artifacts + tests.
  • Gouvernance : permissions, policies, audit, service connections.
  • YAML pipelines + templates : industrialisation “as code”.
Les composants (Azure DevOps Services)
ProduitRôleExemples
BoardsAgile / work itemsBacklog, sprints, kanban, queries, dashboards
ReposGit + PRBranch policies, reviewers, status checks, CODEOWNERS-like
PipelinesCI/CDYAML pipelines, environments, approvals, deployments
ArtifactsPackage managementFeeds (npm, NuGet, Maven, PyPI), versionning
Test PlansQA & traçabilitéTest cases, suites, runs, evidence
WikiDocRunbooks, conventions, onboarding
Lecture : Azure DevOps = ALM complet. Si tu ne veux “que CI/CD”, tu peux n’utiliser que Pipelines (et garder Git ailleurs).
Services (cloud) vs Server (on-prem)
Azure DevOps Services (cloud)
  • Opérations simplifiées : SaaS géré.
  • Scalabilité + updates automatiques.
  • Bon pour démarrer vite, équipes distribuées.
Azure DevOps Server (on-prem)
  • Hébergement interne (compliance, réseau fermé, exigences SI).
  • Intégration enterprise (SSO, politiques internes, auditing).
  • Pratique en environnements régulés.
Choix rapide : Cloud pour réduire l’exploitation, On-prem si contraintes fortes (réseau/compliance/data).
Quand Azure DevOps est le meilleur choix ?
✅ Très pertinent si…
  • Tu veux une suite complète (agile + git + CI/CD + packages + tests).
  • Tu as un besoin de gouvernance (RBAC, audit, approvals, policies).
  • Ton SI est orienté Microsoft/Azure (intégrations naturelles).
  • Tu veux industrialiser avec YAML + templates (CI “as code”).
⚠️ Moins pertinent si…
  • Tu veux un modèle “repo-centric minimal” et rien d’autre.
  • Tu as déjà un stack complet (Jira + GitHub + Actions) et tu ne veux pas répliquer l’ALM.
Règle : Azure DevOps brille quand on exploite la suite + gouvernance.
1.2 Architecture — Org/Project, permissions, connections, agents
Modèle mental
Organization
  ├─ Project A
  │    ├─ Boards (work items)
  │    ├─ Repos (git)
  │    ├─ Pipelines (YAML)
  │    ├─ Artifacts (feeds)
  │    └─ Test Plans / Wiki
  └─ Project B
            
Tip : 1 projet = 1 produit/plateforme, pas 1 microservice. Microservices = repos multiples dans le même projet (souvent).
Composants d’exécution CI/CD
  • Pipelines exécutent des jobs sur des agents.
  • Agent pool = ensemble de runners (MS-hosted ou self-hosted).
  • Service connection = identité + permissions vers Azure/K8s/registry.
  • Environment = cible de déploiement + approvals + checks.
trigger -> pipeline -> agent -> build/test -> publish artifacts
                         |
                         +-> deploy to Environment (approval gate)
            
RBAC (permissions) — l’armature enterprise
  • Permissions au niveau org/projet/repos/pipelines/environments.
  • Branch policies (PR) : build obligatoire, reviewers, checks.
  • Approvals (environments) : séparation Dev vs Ops vs Security.
Pattern : “Prod deploy” déclenchable seulement par pipeline + approval (jamais par user direct).
Service Connections — le point le plus sensible
Exemples:
- Azure Resource Manager (ARM) / Entra ID Service Principal
- Kubernetes service connection
- Docker registry / ACR
- GitHub connection (si repos externes)
        
  • Scopes minimaux (least privilege).
  • Rotation des secrets / certificats.
  • Audit et ownership clair.
Environments — gates & contrôles
  • Associer chaque environnement (DEV/STAGE/PROD) à des checks : approvals, validations, health checks.
  • Conserver un historique “qui a approuvé quoi, quand”.
  • Aligner avec ton modèle release : canary / blue-green / rolling.
Effet : “compliance by design” plutôt que “compliance après-coup”.
1.3 Boards — Agile (work items, backlogs, sprints, kanban)
Work items (exemple structuré)
Epic: "Platform Reliability"
  ├─ Feature: "CI/CD hardening"
  │    ├─ User Story: "PR checks + quality gates"
  │    │    ├─ Task: "Add ruff + pytest"
  │    │    └─ Task: "Publish junit & coverage"
  │    └─ User Story: "Deploy approvals in PROD"
  └─ Feature: "Artifact immutability"
            
Point fort : traçabilité : requirement → code → pipeline → tests → release.
Pratiques qui marchent vraiment
  • Backlog propre : épics (macro), features (livrables), stories (valeur), tasks (exécution).
  • Definition of Done explicite + checklists (tests, docs, sécurité).
  • Capacity/velocity réalistes + limites WIP sur le kanban.
  • Templates d’items (ex : “New API endpoint” = checklist auto).
Dashboards & queries
WidgetButLecture
BurndownSuivi sprintrisque de dérive
Cumulative flowWIP & goulotsblocages, surcharges
Lead timeTime-to-deliveramélioration process
2.1 Repos (Git) — PR, policies, reviews, monorepo
Branch policies (quality by default)
Policy (main):
- build validation required (pipeline "fast-ci")
- minimum reviewers: 2
- no direct pushes
- linked work item required
- comment resolution required
        
Effet : la qualité est “dans le flux” (PR) au lieu d’être un contrôle après livraison.
Branching patterns
PatternQuandAvantage
Trunk-basedproduit webfeedback rapide, CD plus simple
GitFlowrelease cycle strictséparation release/hotfix
Release branchesmulti-versionssupport LTS/patches
Monorepo : ne pas déclencher “tout” tout le temps
  • Pipelines “path filters” / triggers ciblés.
  • CI rapide sur PR, CI exhaustive nightly.
  • Cache dépendances + jobs parallèles.
2.2 Pipelines — YAML, stages/jobs/steps, templates, environnements
Concepts clés
Pipeline YAML
  - trigger (branches, PR)
  - stages (Build, Test, Deploy)
  - jobs (parallélisables)
  - steps (tasks/scripts)
  - variables & variable groups
  - templates (réutilisables)
  - environments (gates/approvals/checks)
        
Approche pro : “fast pipeline” sur PR + “release pipeline” sur main/tags.
Exemple YAML (Django + tests + artefacts)
trigger:
  branches:
    include:
      - main
      - feature/*

pool:
  vmImage: 'ubuntu-latest'   # ou pool self-hosted

variables:
  PYTHON_VERSION: '3.12'

stages:
- stage: CI
  jobs:
  - job: tests
    steps:
    - task: UsePythonVersion@0
      inputs:
        versionSpec: '$(PYTHON_VERSION)'
    - script: |
        python -m venv venv
        . venv/bin/activate
        pip install -r requirements.txt
        ruff check .
        pytest -q --maxfail=1
      displayName: "Lint + Unit tests"
    - publish: $(System.DefaultWorkingDirectory)
      artifact: "workspace"

- stage: Build
  dependsOn: CI
  jobs:
  - job: package
    steps:
    - script: |
        echo "Build docker image / wheel / zip here"
      displayName: "Package"
        
Objectif : un pipeline lisible, versionné, reviewable.
Templates YAML (standardisation)
# templates/python-ci.yml (concept)
parameters:
  pythonVersion: '3.12'
steps:
- task: UsePythonVersion@0
  inputs:
    versionSpec: $
- script: |
    pip install -r requirements.txt
    ruff check .
    pytest -q

# azure-pipelines.yml
steps:
- template: templates/python-ci.yml
  parameters:
    pythonVersion: '3.12'
        
Résultat : 30 services → 1 template → cohérence + maintenance simple.
CD patterns (environments + approvals)
Pattern recommandé:
- build un artefact immuable (image Docker / package)
- déployer DEV auto
- smoke tests
- approval STAGE
- approval PROD
- rollback plan (image précédente)
        
  • Blue/Green / Canary / Rolling selon ton infra.
  • Les gates doivent être “automatisables” (health checks, tests, metrics).
2.3 Agents & Pools — Microsoft-hosted vs self-hosted, scaling, caches
Microsoft-hosted vs self-hosted
TypeAvantagesInconvénients
Microsoft-hostedzéro ops, démarrage rapidemoins de contrôle, env éphémère, contraintes minutes/parallel
Self-hostedcontrôle total, caches persistants, outils/licencesops à gérer (patching, scaling, sécurité)
Self-hosted agents : cas d’usage “enterprise”
  • Builds avec dépendances lourdes (SDKs, toolchains, licences).
  • Accès réseau interne (registry privé, SI fermé).
  • Besoin de caches persistants (npm/pip/maven, docker layers).
Stratégie:
- golden image (VM template)
- pool "fast-ci" + pool "heavy"
- autoscaling (si cloud) ou capacity planning (si on-prem)
        
Pools : isoler et router
PoolUsageSpecs
fast-cilint/tests4–8GB RAM, CPU standard
docker-buildimages16–64GB RAM, SSD, Docker
windows.NET/MSBuildWindows toolchain
Cache : le multiplicateur de performance
Caches typiques:
- pip/wheels
- npm/yarn
- maven/gradle
- docker layers (selon stratégie)
Risque:
- cache "sale" => builds non reproductibles
        
3.1 Artifacts — feeds, packages, versionning, promotion
Feeds & formats
FormatUsageExemple
npmlibs front@org/ui-kit
NuGet.NETCompany.Core
MavenJava/Kotlincom.company:platform
PyPIPythoncompany-utils
But : éviter les dépendances “fantômes” et rendre les builds reproductibles.
Artefacts immuables & promotion
CI -> produit un artefact versionné:
- package (wheel/jar/zip) ou image docker
Puis:
- déploiements DEV/STAGE/PROD consomment le même artefact
        
Supply chain (bonus “enterprise”)
  • Scan dépendances avant publication.
  • SBOM (CycloneDX/SPDX) pour audit.
  • Principe : “build once, deploy many”.
3.2 Test Plans — QA, test cases, suites, runs, traçabilité
Pourquoi c’est utile
  • Traçabilité : work item ↔ test case ↔ run ↔ release.
  • Vision QA centralisée (manuel + automatisé).
  • Evidence/audit sur les releases sensibles.
Modèle
Test Plan
  ├─ Test Suite A (feature)
  │    ├─ Test Case 1
  │    └─ Test Case 2
  └─ Test Suite B (regression)
        
Couplage CI
  • Publier rapports JUnit + coverage depuis pipelines.
  • Associer build number / release à un run de tests.
  • Quality gates : bloquer promotion si seuil non atteint.
Sécurité & Gouvernance — RBAC, policies, secrets, approvals
Règles d’or “enterprise-ready”
✅ PR required on main
✅ pipeline validation required
✅ approvals for prod environments
✅ service connections least-privilege
✅ separation of duties (Dev/Ops/Sec)
❌ pas de secrets dans repo
        
Secrets : modèle simple et robuste
  • Préférer identities (service principal / managed identity) plutôt que tokens “humains”.
  • Rotation et expiration systématiques.
  • Masquage dans logs + scanning.
Audit
  • Historique modifications pipelines/templates.
  • Traçabilité approvals.
  • Traçabilité releases (build number + git SHA).
4.1 Performance & FinOps — minutes, parallel jobs, cache, rationalisation
KPIs utiles
KPILectureAction
Queue timeSaturation agentsAugmenter pool / split pipeline
DurationFeedback loopCache + parallélisme
Fail rateInstabilitéReproductibilité, isolation
Optimisations (fort ROI)
  • Pipeline “fast” sur PR : lint + unit tests uniquement.
  • Nightly “full” : intégration, e2e, scans security.
  • Cache deps et éviter redownload à chaque run.
  • Paralléliser par jobs (tests shards).
FinOps
Le coût explose souvent à cause de:
- builds redondants
- pipelines trop lourds sur PR
- manque de cache
- agents sous-dimensionnés (lent = cher)
        
4.2 Bonnes pratiques — YAML templates, environments, immutable artifacts
Top 10 (pratiques “solides”)
  1. PR policies sur main (no direct push).
  2. Build validation obligatoire sur PR.
  3. Templates YAML pour standardiser.
  4. Pipeline fast vs pipeline full.
  5. Artefacts immuables (build once deploy many).
  6. Environments + approvals en prod.
  7. Secrets externalisés / rotation.
  8. Cache dépendances.
  9. Observabilité : reports tests/coverage.
  10. Rollback testé (pas un paragraphe doc).
Gates (quality gates) — exemples
GateMesureSeuilBut
Lintruff/eslint0 erreurQualité
Testsjunit100% passStabilité
Coveragecoverage.xml≥ 80%Régression
Securityscan deps/images0 criticalRisque
Une ligne CV-ready
Mise en place d’une plateforme Azure DevOps (Boards/Repos/Pipelines/Artifacts) avec YAML templates,
branch policies PR, quality gates, agents/pools, et promotion d’artefacts immuables jusqu’à PROD via approvals.
        
Migration Jenkins/Bamboo → Azure DevOps (mapping, stratégie, pièges, checklist)
Mapping conceptuel
JenkinsBambooAzure DevOpsNotes
Jenkinsfile pipelinePlanYAML pipelinestages/jobs/steps
Node/LabelAgents/CapabilitiesAgent poolsMS-hosted ou self-hosted
Credentials pluginGlobal varsService connections / variable groupsleast privilege
ArtifactsArtifactsPipeline artifacts + Artifacts feedspromotion immuable
Stratégie safe
  1. Pilote sur 1–2 repos (non critique).
  2. Reproduire CI à l’identique (mêmes tests, mêmes outputs).
  3. Mettre templates YAML (standardisation).
  4. Branch policies PR (quality gates).
  5. Basculer progressivement les triggers / équipes.
Pièges fréquents
  • Service connections trop permissives (risque majeur).
  • Pipelines “monolithiques” → préférer stages/jobs + templates.
  • Builds non déterministes (versions non figées).
  • Absence de séparation DEV/STAGE/PROD via environments.
Checklist
ItemOK ?Notes
Branch policies (PR + build validation)
Templates YAML + conventions
Service connections least-privilege
Environments + approvals prod
Cache deps + pipeline “fast/full”
5.1 Extensions & Marketplace (tasks, connecteurs, scanners)
Pourquoi c’est important
  • Tu enrichis les pipelines via tasks (scans, SAST, SBOM, deploy k8s, cloud providers…)
  • Tu connectes Azure DevOps à ton SI (observabilité, sécurité, CMDB, ITSM).
  • Tu standardises des contrôles (gates) via extensions organisationnelles.
Pattern : un “bundle” d’extensions validées par Security/Platform, et interdites ailleurs.
Exemples de catégories d’extensions
CatégorieButExemples
SecurityscannerSAST, dependency scan, container scan
DeployCDHelm/Kubectl, cloud deploy, SSH/Ansible
Qualityreportscoverage, test reporting, code analysis
Opsobservabilityalerting, dashboards, incidents
Cheat-sheet Azure DevOps (résumé opérationnel)
TL;DR
Azure DevOps = ALM suite Microsoft

Core:
- Boards (agile)
- Repos (git + PR policies)
- Pipelines (CI/CD YAML + templates + environments)
- Artifacts (package feeds)
- Test Plans (QA)
- Wiki + Extensions marketplace

Ops:
- Agents: Microsoft-hosted ou self-hosted
- Service connections (least privilege)
- Approvals & checks pour PROD
- Artefacts immuables + promotion
      
Phrase “recruteur”
Industrialisation CI/CD sous Azure DevOps : YAML templates, PR policies, quality gates, agents/pools (self-hosted caches), artefacts immuables et déploiements multi-environnements via approvals.