Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Bonnes pratiques DevSecOps : les 4 piliers à maîtriser

Par mis à jour le

Améliorer cette page

Adopter des outils sans méthode peut compromettre la sécurité, la fiabilité et la maintenabilité des systèmes. Installer Kubernetes ne rend pas une application plus sûre ; mettre en place un pipeline CI/CD ne garantit pas des déploiements fiables. C'est la manière d'utiliser ces outils qui fait la différence.

Cette leçon de synthèse rassemble les bonnes pratiques DevSecOps de 2026 en quatre piliers : sécurité de la chaîne d'approvisionnement (SBOM, SLSA), fiabilité pilotée par les SLO et l'error budget, observabilité avec OpenTelemetry, et standardisation par les Golden Paths. Elle s'adresse aux équipes qui ont déjà des outils en place et cherchent à les faire converger. Les commandes et configurations montrées ont été exécutées avec les versions citées.

  • Structurer vos pratiques autour des quatre piliers : sécurité, fiabilité, exploitabilité, maintenabilité
  • Générer et analyser un SBOM, signer une image et situer votre build sur l'échelle SLSA
  • Définir des SLI, des SLO et un error budget pour arbitrer entre vélocité et stabilité
  • Instrumenter un service avec OpenTelemetry et router ses signaux par un collecteur
  • Construire un Golden Path qui standardise sans imposer de bureaucratie
  • Repérer les pièges les plus fréquents (sécurité en fin de cycle, alertes ignorées, sauvegardes non testées)

Cette leçon clôt la formation : elle relie des notions vues dans les modules précédents, des fondamentaux DevSecOps à la fiabilité, sans les redire. Chaque section renvoie vers la leçon qui approfondit le sujet.

Quels sont les 4 piliers des bonnes pratiques DevSecOps ?

Section intitulée « Quels sont les 4 piliers des bonnes pratiques DevSecOps ? »

Les bonnes pratiques DevSecOps s'organisent autour de quatre piliers complémentaires, chacun répondant à une question que tout système en production doit se poser. En négliger un crée tôt ou tard des problèmes : une application peut être sécurisée mais impossible à diagnostiquer, ou fiable mais impossible à faire évoluer. Les Golden Paths appliquent les quatre par défaut, et les indicateurs DORA mesurent l'effet.

Les quatre piliers DevSecOps : sécurité, fiabilité, exploitabilité et maintenabilité, appliqués par défaut par les Golden Paths et mesurés par les indicateurs DORA.Les quatre piliersSécuritéshift-left, SBOM, SLSA, secretsFiabilitéIaC, redondance, SLO, error budgetExploitabilitéOpenTelemetry, alertes sur SLO, runbooksMaintenabilitédocs, ADR, tests, sauvegardes testéesGolden Pathsappliquer les quatre par défautIndicateurs DORAmesurer pour améliorer
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %
PilierObjectifQuestion clé
SécuritéProtéger les données et les systèmesComment détecter une vulnérabilité avant la production ?
FiabilitéGarantir disponibilité et performanceComment résister à une panne sans impact utilisateur ?
ExploitabilitéSurveiller, diagnostiquer, réagirComment trouver la cause d'un incident en quelques minutes ?
MaintenabilitéFaire évoluer et corriger facilementComment modifier ce système dans six mois ?

Sans cadre commun, chaque équipe invente ses propres solutions, souvent dans l'urgence. Les erreurs se répètent, la dette technique s'accumule, et les incidents deviennent la norme plutôt que l'exception. Ces symptômes recoupent les anti-patterns DevOps : les reconnaître tôt évite des mois de rattrapage.

Les signaux d'alerte les plus fréquents sont connus : vulnérabilités découvertes en production, configurations dupliquées et scripts ad hoc, incidents qui se répètent faute de capitalisation, environnements qui divergent, sauvegardes jamais restaurées, alertes ignorées et tableaux de bord abandonnés.

La sécurité coûte moins cher quand elle est intégrée tôt. Une vulnérabilité détectée au commit se corrige en quelques minutes ; la même découverte en production peut demander des jours de travail, sans compter l'impact.

Le shift-left déplace les contrôles au plus tôt : analyser les dépendances avant le merge, détecter les secrets avant le commit, bloquer les images vulnérables avant la production. En amont du code, le threat modeling STRIDE aide à prioriser les scénarios d'attaque les plus probables.

Pour prioriser vos contrôles, l'OWASP Top 10:2025, publié en version finale en janvier 2026, place le contrôle d'accès défaillant en tête (A01), la mauvaise configuration de sécurité en A02, puis les défaillances de la chaîne d'approvisionnement logicielle en A03, qui élargissent l'ancienne catégorie des composants vulnérables. La leçon OWASP Top 10 appliqué au DevSecOps traduit ces risques en contrôles CI/CD.

Ces pratiques forment le socle minimal. Elles sont rangées par facilité de mise en œuvre : les trois premières se déploient en quelques jours, les suivantes demandent plus d'organisation et l'adhésion de plusieurs équipes.

PratiqueAction concrète
Analyse des dépendancesScanner les dépendances dans la CI (Trivy, Grype, OSV-Scanner)
Gestion des secretsJamais de secret en clair ; Vault, SOPS ou Sealed Secrets
Moindre privilègeComptes de service aux permissions minimales, revus chaque trimestre
Analyse d'imagesBloquer les images portant des CVE critiques corrigeables
SAST et DASTAnalyse statique et dynamique intégrées au pipeline
Revue de code sécuritéChecklist sécurité dans les merge requests

SBOM et SLSA : sécuriser la chaîne d'approvisionnement

Section intitulée « SBOM et SLSA : sécuriser la chaîne d'approvisionnement »

La chaîne d'approvisionnement logicielle est devenue critique après SolarWinds et Log4Shell : un code impeccable ne protège de rien si une dépendance ou le build est compromis. Deux standards se complètent : le SBOM répond à « de quoi est fait mon logiciel ? », SLSA à « puis-je faire confiance à la façon dont il a été construit ? ». La leçon sécurité de la supply chain détaille attaques et contre-mesures.

Chaîne d'approvisionnement : source, build sur service hébergé avec provenance signée, distribution avec vérification des signatures, déploiement des seuls artefacts vérifiés ; le build produit un SBOM et une provenance SLSA de niveau 1 à 3.Sourcecode, dépendances, IaCBuildservice hébergé, provenance signéeDistributionregistre, vérification des signaturesDéploiementadmission des seuls artefacts vérifiésSBOMde quoi est fait l'artefactSLSA Build L1 à L3comment il a été construit
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %

Le Software Bill of Materials (SBOM) est l'inventaire complet des composants d'un logiciel, dépendances directes et transitives, aux formats SPDX (Linux Foundation) ou CycloneDX (OWASP). Il sert à tracer les CVE, vérifier les licences et répondre en minutes à « sommes-nous touchés ? ». Avec Syft 1.51 et Grype 0.118, sur une image épinglée par digest :

Fenêtre de terminal
# Générer le SBOM (la sous-commande « packages » est dépréciée au profit de « scan »)
syft scan alpine:3.22@sha256:5291449c3df73caf6ed85e649dec1b9e818b39a5d8c871e97afc13e9cd5e8fa8 \
-o spdx-json=sbom.spdx.json
# Chercher les vulnérabilités connues dans le SBOM, sans réanalyser l'image
grype sbom:./sbom.spdx.json

Grype liste chaque paquet vulnérable avec sa CVE, sa sévérité et son score EPSS (probabilité d'exploitation).

La question n'est pas si une panne arrivera, mais quand. Les systèmes fiables ne sont pas ceux qui ne tombent jamais, mais ceux qui résistent aux pannes et se rétablissent vite. Deux principes les fondent : l'immutabilité (on remplace un système plutôt que de le modifier en production) et la redondance (une panne locale n'atteint pas le service).

Ces pratiques réduisent la probabilité et l'impact d'une panne. L'infrastructure as code garantit la reproductibilité, la redondance absorbe les défaillances locales, et le chaos engineering vérifie que ces filets fonctionnent avant qu'un incident réel ne le fasse à votre place.

PratiqueAction concrète
Infrastructure as CodeToute l'infrastructure versionnée (Terraform, OpenTofu, Ansible)
ImmutabilitéAucune modification manuelle en production : on redéploie
RedondancePlusieurs zones de disponibilité pour les services critiques
DisjoncteursIsoler les défaillances pour éviter les cascades
Chaos engineeringTests de résilience réguliers (Chaos Mesh, LitmusChaos)
CapacitéProjections de charge et tests de performance

L'error budget : arbitrer entre vélocité et stabilité

Section intitulée « L'error budget : arbitrer entre vélocité et stabilité »

L'error budget est un concept SRE qui transforme la fiabilité en décision. Plutôt que de viser 100 % de disponibilité, impossible et coûteux, on fixe un SLO et on accepte l'écart restant comme budget. La leçon SLO, SLI et error budgets détaille les calculs et les alertes par burn rate.

Du SLI au SLO puis à l'error budget : on mesure latence et erreurs, on fixe un objectif de 99,9 % sur 30 jours, ce qui laisse 43 minutes d'indisponibilité par mois, et une politique décide de livrer, ralentir ou geler selon le budget restant.SLIce qu'on mesure : latence, erreursSLOl'objectif : 99,9 % sur 30 joursError budget100 % - SLO = 43 min par moisPolitiquelivrer, ralentir ou geler selon le budget restant
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %
  1. Définir les SLI (Service Level Indicators)

    Ce que l'on mesure, du point de vue de l'utilisateur : part des requêtes réussies, part des requêtes servies sous 200 ms.

  2. Fixer les SLO (Service Level Objectives)

    L'objectif interne sur une fenêtre glissante : par exemple 99,9 % de requêtes réussies sur 30 jours.

  3. Calculer l'error budget

    Error budget = 100 % - SLO. Avec un SLO de 99,9 %, le budget vaut 0,1 %, soit environ 43 minutes d'indisponibilité sur 30 jours, ou 8 h 45 sur un an.

  4. Appliquer une politique

    Un exemple de politique, à négocier avec le produit : au-delà de 50 % de budget restant, on livre et on expérimente ; entre 20 et 50 %, on livre en renforçant la fiabilité ; sous 20 %, on suspend les nouvelles fonctionnalités ; budget épuisé, gel et revue d'incident.

Pilier 3 : comment rendre un système exploitable ?

Section intitulée « Pilier 3 : comment rendre un système exploitable ? »

On ne répare pas ce que l'on ne voit pas. L'observabilité instrumente le système pour comprendre son comportement en production, à partir de trois signaux : les métriques (que se passe-t-il ?), les journaux (qu'est-ce qui s'est passé ?) et les traces (par où passe une requête ?). La leçon observabilité approfondit ces signaux.

Ces pratiques transforment une supposition en certitude au moment de l'incident. Commencez par les tableaux de bord et les alertes, puis formalisez runbooks et post-mortems une fois les premiers incidents traités.

PratiqueAction concrète
Trois signaux corrélésMétriques, journaux et traces reliés par un identifiant de trace
Tableaux de bord utilesIndicateurs qui servent une décision, pas de « vanity metrics »
Alertes sur les SLOSeuils dérivés des SLO, pas de valeurs arbitraires
RunbooksUne procédure documentée pour chaque alerte critique
Post-mortemsAnalyse blameless après chaque incident majeur
AstreinteRotation soutenable, équipes formées et outillées

L'astreinte doit rester soutenable pour ne pas épuiser les équipes, et le post-mortem transforme un incident en apprentissage collectif plutôt qu'en recherche de coupable.

OpenTelemetry : instrumenter une fois, router partout

Section intitulée « OpenTelemetry : instrumenter une fois, router partout »

OpenTelemetry (OTel) est le standard d'instrumentation : la CNCF l'a fait graduer le 21 mai 2026, son plus haut niveau de maturité. Traces, métriques et journaux sont stables ; un quatrième signal, le profiling, est en alpha publique depuis mars 2026 et n'est pas encore destiné à la production. On instrumente une fois, et le collecteur reçoit, transforme et route les données vers le backend de son choix.

Architecture OpenTelemetry : les services instrumentés par le SDK envoient leurs signaux en OTLP au collecteur, qui exporte les traces vers Jaeger en OTLP, les métriques vers Prometheus et les journaux vers Loki en OTLP HTTP.OTLPOTLP HTTPOTLPApplications instrumentéesService ASDK OpenTelemetryService BSDK OpenTelemetryCollecteur OpenTelemetryreceivers, processors, exportersJaegertracesPrometheusmétriquesLokijournaux
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %

Côté application, le SDK crée les spans et les exporte en OTLP vers le collecteur. Le nom du service, porté par la ressource, identifie les traces dans le backend. Testé avec le SDK Python 1.45 contre un collecteur 0.161 : la trace arrive avec son attribut.

from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
# Le nom du service identifie les traces dans le backend.
provider = TracerProvider(resource=Resource.create({"service.name": "commandes"}))
# Schéma http:// : connexion gRPC sans TLS, acceptable sur un réseau interne.
provider.add_span_processor(
BatchSpanProcessor(OTLPSpanExporter(endpoint="http://otel-collector:4317"))
)
trace.set_tracer_provider(provider)
tracer = trace.get_tracer(__name__)
def traiter_commande(commande_id: str) -> None:
with tracer.start_as_current_span("traiter_commande") as span:
span.set_attribute("commande.id", commande_id)
# ... traitement métier

Pilier 4 : comment garder un système maintenable ?

Section intitulée « Pilier 4 : comment garder un système maintenable ? »

Un système est modifié bien plus souvent qu'il n'est écrit. La maintenabilité facilite ces modifications : un README qui explique comment lancer le projet, des ADR (Architecture Decision Records) qui gardent la trace des choix, des tests qui servent de spécification vivante. C'est la différence entre un projet qu'on fait évoluer sereinement et un projet qu'on a peur de toucher.

Ces pratiques évitent qu'un système devienne une boîte noire que plus personne n'ose modifier. Elles demandent une discipline continue : documentation et tests se dégradent vite si personne n'y consacre de temps régulier.

PratiqueAction concrète
Documentation à jourREADME, ADR, schémas, dans le dépôt
Sauvegardes testéesRestauration réellement exécutée chaque mois
Plan de repriseExercé au moins une fois par an avec les équipes
Versionnage sémantiqueContrats d'API clairs, ruptures documentées
Refactoring continuTemps réservé à la réduction de la dette
Tests automatisésCouverture suffisante pour refactorer sans crainte

Les tests automatisés méritent un investissement particulier : sans ce filet, un système se fige par peur de la régression. La leçon stratégies de tests aide à prioriser entre tests unitaires, d'intégration et de bout en bout.

Comment standardiser sans contraindre avec les Golden Paths ?

Section intitulée « Comment standardiser sans contraindre avec les Golden Paths ? »

Les Golden Paths sont des chemins balisés qui appliquent les quatre piliers par défaut : un développeur qui les suit livre vite tout en respectant les pratiques de l'organisation. C'est le cœur du Platform Engineering, qui construit une plateforme interne en libre-service.

Selon le rapport DORA 2025, 90 % des organisations utilisent déjà une plateforme interne et 76 % ont une équipe plateforme dédiée. Un Golden Path reste une recommandation, pas une obligation : les équipes peuvent dévier pour une bonne raison, mais le chemin par défaut doit être le plus facile à suivre. Il se construit en quatre briques, de la moins coûteuse à la plus exigeante.

Les quatre briques d'un Golden Path : un modèle de projet, un portail en libre-service, une documentation intégrée au flux de travail, des garde-fous automatiques par politiques d'admission.1. Modèle de projet dépôt, Dockerfile, CI/CD2. Portail en libre-service créer sans ticket3. Documentation intégrée dans le flux de travail4. Garde-fous automatiques politiques d'admission
Source · SVG
Échap pour fermer, + et − pour zoomer, défilement pour se déplacer. 100 %
  1. Un modèle de projet

    Structure de dépôt, Dockerfile, pipeline CI/CD et configuration de base prêts à l'emploi. Dans Backstage, c'est un Software Template que le développeur instancie depuis le portail ; il crée par exemple src/, Dockerfile, .gitlab-ci.yml, les manifestes Kubernetes, un dossier docs/adr/ et le README.

  2. Un portail en libre-service

    Une interface pour créer des ressources sans ticket : Backstage en open source, Port ou Humanitec en produits gérés.

  3. Une documentation intégrée

    Les guides vivent dans le flux de travail et dans le dépôt, pas sur un wiki séparé : c'est l'approche Docs-as-Code.

  4. Des garde-fous automatiques

    Des politiques d'admission qui préviennent les erreurs au moment du déploiement, comme cette ValidatingPolicy Kyverno qui exige un label team.

La politique ci-dessous a été testée avec la CLI Kyverno 1.19.1 : un Deployment qui porte le label team est admis, un Deployment sans ce label est refusé avec le message prévu.

apiVersion: policies.kyverno.io/v1
kind: ValidatingPolicy
metadata:
name: require-labels
spec:
validationActions: [Deny]
matchConstraints:
resourceRules:
- apiGroups: ["apps"]
apiVersions: ["v1"]
operations: ["CREATE", "UPDATE"]
resources: ["deployments"]
validations:
- expression: >-
has(object.metadata.labels) &&
'team' in object.metadata.labels &&
size(object.metadata.labels['team']) > 0
message: "Le label 'team' est obligatoire sur tous les Deployments."

Ces deux scénarios comparent, sur des cas fréquents, ce qui se passe avec et sans les pratiques décrites. Ils montrent l'écart entre une équipe qui a formalisé ses réflexes et une équipe qui découvre le problème au moment où il survient.

Un développeur commite par erreur une clé d'API dans le code source. Sans bonnes pratiques, la clé reste dans l'historique Git et un audit la découvre six mois plus tard : rotation de tous les accès, analyse forensique, communication de crise. Avec, le hook pre-commit (Gitleaks, detect-secrets) bloque le commit ; s'il passe malgré tout, le scan CI échoue, la clé est révoquée et remplacée depuis le gestionnaire de secrets, et l'incident est documenté.

L'application renvoie des erreurs 500 et l'ingénieur d'astreinte est alerté. Sans bonnes pratiques, il passe des heures dans des journaux non structurés, sans runbook, avant un retour arrière manuel hasardeux. Avec, l'alerte pointe vers le runbook, le tableau de bord montre la corrélation avec le déploiement de 17 h, le retour arrière se déclenche en un geste et le service revient en quelques minutes ; le post-mortem est planifié pour lundi.

Ce tableau récapitule les erreurs les plus fréquentes, souvent héritées d'une culture où la vélocité prime sur tout. Les repérer tôt évite des mois de rattrapage ; la colonne de droite donne la correction de chacune.

PiègePourquoi c'est un problèmeCorrection
Sécurité en fin de cycleCorrectifs coûteux, retards de livraisonAnalyser dès le commit
Trop d'alertesFatigue d'alerte, alertes ignoréesSeuils dérivés des SLO, suppression du bruit
Sauvegardes non testéesRestauration impossible le jour JRestauration mensuelle réelle
Documentation obsolèteConfiance perdue, erreurs de procédureDocs dans le dépôt, revue à chaque merge request
Environnements manuelsDivergences, « ça marche sur ma machine »Tout en IaC, environnements éphémères
Moindre privilège ignoréSurface d'attaque étendueRevue trimestrielle des permissions
Post-mortems punitifsDissimulation des erreursCulture blameless, attention portée au système
Dette technique accumuléeVélocité en chute libreTemps réservé à chaque itération

Cette grille se repasse chaque trimestre plutôt qu'une seule fois. Elle s'appuie notamment sur les indicateurs DORA, qui comptent cinq métriques depuis 2024 : délai des changements, fréquence de déploiement, temps de restauration après un déploiement raté, taux d'échec et taux de reprise (rework). Le suivi des KPI de sécurité complète la mesure.

  • Aucun secret en clair dans les dépôts ni dans les pipelines
  • Les images sont analysées et la gestion des vulnérabilités bloque les failles critiques avant déploiement
  • Un SBOM est généré automatiquement pour chaque release
  • Toute l'infrastructure est versionnée et reproductible
  • Les SLO sont définis et l'error budget est suivi
  • Chaque alerte critique renvoie à un runbook
  • Les restaurations de sauvegarde sont testées au moins chaque trimestre
  • Un post-mortem blameless suit chaque incident majeur
  • Les équipes déploient de façon autonome, sans intervention manuelle
  • Les cinq indicateurs DORA sont mesurés et suivis dans le temps
  • La sécurité s'intègre dès le premier commit : SBOM, signature par digest et build évalué sur l'échelle SLSA (L0 à L3).
  • L'OWASP Top 10:2025 place les défaillances de la chaîne d'approvisionnement au troisième rang des risques applicatifs.
  • La fiabilité se pilote avec des SLO et un error budget, pas avec une promesse de 100 % de disponibilité.
  • L'exploitabilité repose sur OpenTelemetry, gradué CNCF en mai 2026, et sur des runbooks actionnables.
  • La maintenabilité exige documentation dans le dépôt, tests et sauvegardes réellement restaurées.
  • Les Golden Paths appliquent ces pratiques par défaut, sans les imposer.
  • Un exemple qui a marché il y a deux ans peut ne plus marcher : exporteurs OpenTelemetry retirés, sous-commandes dépréciées, épinglage par SHA incompatible avec le générateur SLSA. Rejouez vos exemples avec les versions actuelles.

Vérifiez que vous avez retenu l'essentiel de ce guide. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Les questions ci-dessous reprennent les doutes les plus fréquents sur les bonnes pratiques DevSecOps : SBOM et SLSA, l'error budget, les Golden Paths et OpenTelemetry.

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn