FREN

Restons en contact

Social

Technologie· 10 min de lecture

CI/CD : définition, étapes d’un pipeline et mise en place

CI/CD : ce que recouvrent intégration continue, livraison et déploiement continus, les étapes d’un pipeline, sa sécurité et comment le mettre en place.

Le CI/CD (intégration continue, livraison continue et déploiement continu) est l’ensemble des pratiques qui font passer chaque modification du code par une chaîne automatique de compilation, de tests et de mise en ligne. Ce guide en donne la définition, distingue ses trois volets, décrit les étapes d’un pipeline, sa sécurité, et la façon de le mettre en place sur une application qui existe déjà.

Il s’adresse aux dirigeants techniques, aux DSI et aux responsables de produit qui veulent livrer plus souvent sans casser la production, et qui se demandent par où commencer. Le CI/CD est au cœur de notre offre infra, DevOps et sécurité web.

Qu’est-ce que le CI/CD ?

Le CI/CD désigne l’automatisation du chemin qui va d’une modification du code à sa mise en production. « CI » signifie intégration continue (continuous integration) ; « CD » signifie, selon le contexte, livraison continue (continuous delivery) ou déploiement continu (continuous deployment). Les trois se suivent : chacun s’appuie sur le précédent.

Martin Fowler, qui a popularisé le terme, définit l’intégration continue comme une pratique où chaque membre d’une équipe fusionne ses modifications dans la base de code commune, avec celles de ses collègues, au moins chaque jour. Jez Humble, coauteur du livre Continuous Delivery, définit la livraison continue comme la capacité à mettre en production des modifications de tout type, de façon sûre, rapide et durable.

Le pipeline CI/CD est la chaîne automatique qui applique ces pratiques : à chaque modification, il compile, teste, analyse, prépare et déploie, et s’arrête dès qu’une étape échoue. Le CI/CD est l’une des pratiques centrales de la démarche DevOps, qui rapproche ceux qui développent et ceux qui exploitent une application.

Intégration continue, livraison continue, déploiement continu : quelle différence ?

La différence tient à l’endroit où l’automatisation s’arrête. L’intégration continue s’arrête à un code fusionné et testé ; la livraison continue, à une version prête à partir ; le déploiement continu va jusqu’à la production, sans validation humaine.

PratiqueCe qui est automatiséCe qui reste humain
Intégration continue (CI)La compilation et les tests à chaque fusion dans la branche principaleLa décision de livrer, le déploiement
Livraison continue (CD)En plus : le paquet, le déploiement en recette, les tests de bout en bout ; la version est prête à partir à tout momentLe clic qui met en production
Déploiement continu (CD)En plus : la mise en production de toute modification qui passe les contrôlesLa définition des contrôles, la surveillance

GitLab le résume ainsi dans sa présentation du CI/CD : avec la livraison continue, le logiciel peut être mis en production à tout moment et le déploiement se déclenche manuellement ; le déploiement continu, lui, déploie automatiquement, sans intervention humaine. La plupart des applications métier s’arrêtent à la livraison continue : une personne choisit le moment de la mise en production, souvent pour l’accorder avec les utilisateurs.

Quelles sont les étapes d’un pipeline CI/CD ?

Un pipeline CI/CD enchaîne en général huit étapes, chacune pouvant arrêter la chaîne. Leur détail varie d’une application à l’autre ; leur ordre change peu.

  • Le déclenchement. Une modification est poussée sur le dépôt de code ou une demande de fusion est ouverte.
  • La compilation (build). Le code est assemblé avec ses dépendances, toujours de la même façon, sans geste manuel.
  • Les tests automatiques. Tests unitaires d’abord, rapides ; puis tests d’intégration. Un test qui échoue arrête la chaîne.
  • L’analyse du code et des dépendances. Qualité du code, failles connues dans les bibliothèques utilisées, secrets oubliés dans le code.
  • Le paquet (artefact). Une image de conteneur ou une archive, construite une seule fois, identifiée par sa version, qui sera la même de la recette à la production.
  • Le déploiement en recette. Le paquet est installé sur un environnement aussi proche que possible de la production, avec des données de test.
  • La validation. Tests de bout en bout, contrôles de performance ou d’accessibilité, puis la recette fonctionnelle par le client quand elle est prévue.
  • La mise en production et la surveillance. Le même paquet part en production ; les journaux et les alertes disent si tout va bien, et un retour à la version précédente reste possible.

Deux règles tiennent l’ensemble. Le pipeline doit rester rapide : Martin Fowler retient la règle d’un build de dix minutes comme raisonnable pour la plupart des projets. Et un pipeline cassé se répare tout de suite, avant toute nouvelle fonction, sinon personne ne lui fait plus confiance.

Les données de recette méritent la même attention que le code : copier la base de production vers un environnement de test pose des questions de protection des données. Notre article sur les données de test et le RGPD détaille les solutions. Les tests eux-mêmes relèvent de notre offre assurance qualité et tests.

Quel outil choisir pour un pipeline CI/CD ?

Le bon outil de CI/CD est d’abord celui qui vit à côté de votre code. GitHub Actions si le code est sur GitHub, GitLab CI s’il est sur GitLab ; Jenkins quand il faut tout héberger chez soi et tout personnaliser ; CircleCI ou d’autres services hébergés quand on veut déléguer l’exécution.

Quatre questions départagent les outils mieux qu’un comparatif de fonctions :

  • Où est le code ? Un outil intégré au dépôt évite de gérer un accès de plus.
  • Où tournent les traitements ? Sur les machines de l’éditeur, ou sur les vôtres quand le code ou les données ne doivent pas sortir.
  • Comment sont gardés les secrets ? Mots de passe et clés d’accès à la production doivent être stockés à part, chiffrés, et accessibles aux seules étapes qui en ont besoin.
  • Qui saura le maintenir ? Un pipeline écrit en fichiers lisibles, versionnés avec le code, se reprend ; une configuration cliquée dans une interface se perd.

L’équipe iones met en place des pipelines sur GitHub Actions, GitLab CI, Jenkins ou CircleCI, selon l’existant du client. Le choix de l’outil compte moins que la discipline : des tests qui tournent à chaque modification, et un pipeline que l’on répare dès qu’il casse.

Comment sécuriser un pipeline CI/CD ?

Un pipeline CI/CD se sécurise comme un système de production, parce qu’il en a les clés : il lit le code, détient des secrets et écrit en production. Une attaque sur le pipeline est une attaque sur l’application.

La fondation OWASP a publié une liste des dix principaux risques de sécurité propres au CI/CD (Top 10 CI/CD Security Risks). On y trouve notamment l’absence de contrôle sur ce qui peut partir en production, une gestion des identités et des accès trop large, l’abus de la chaîne de dépendances, l’exécution de code malveillant dans le pipeline, une mauvaise hygiène des secrets, et l’absence de vérification de l’intégrité des paquets. Aux États-Unis, le NIST a consacré en février 2024 une publication entière à la sécurité de la chaîne d’approvisionnement logicielle dans les pipelines CI/CD (SP 800-204D).

  • Personne ne pousse seul en production. Une modification de la branche principale passe par une relecture et par le pipeline, sans exception.
  • Des droits au plus juste. Chaque étape du pipeline n’a accès qu’à ce dont elle a besoin ; les comptes de service sont distincts des comptes personnels.
  • Des secrets hors du code. Stockés dans un coffre ou dans le gestionnaire de secrets de l’outil, changés régulièrement, jamais affichés dans les journaux.
  • Des dépendances surveillées. Versions figées, analyse des failles connues à chaque build, mises à jour suivies.
  • Des paquets vérifiables. Ce qui part en production est bien ce que le pipeline a construit et testé.
  • Des journaux conservés. Qui a lancé quoi, quand, avec quel résultat.

Pour un éditeur de logiciel, ces mesures préparent aussi les obligations du Cyber Resilience Act : savoir ce que contient chaque version et corriger vite une faille dans une dépendance.

Comment mettre en place le CI/CD sur une application existante ?

Sur une application existante, le CI/CD se met en place par étapes, en commençant par ce qui protège le plus : un build automatique et quelques tests, avant tout déploiement automatique.

  • Faire l’état des lieux. Où est le code, comment se fait aujourd’hui une mise en production, qui la fait, combien de gestes manuels, quels tests existent. Un audit de l’existant répond à ces questions.
  • Mettre tout le code sous contrôle de version. Le code, mais aussi la configuration et les scripts de déploiement. Ce qui n’est pas versionné ne peut pas être automatisé.
  • Automatiser le build. Une seule commande, lancée à chaque modification, qui produit l’application sans intervention.
  • Ajouter des tests sur les fonctions critiques. Une application sans tests n’en aura pas des centaines en une semaine : on commence par les parcours dont l’activité dépend.
  • Automatiser le déploiement en recette. Puis la mise en production, d’abord déclenchée à la main (livraison continue).
  • Surveiller et savoir revenir en arrière. Des alertes sur la production et une procédure de retour à la version précédente, testée.

Une application ancienne, sans tests ni documentation, rend ce chemin plus long : chaque étape révèle une part de dette technique. C’est souvent le cas lors d’une reprise d’application web, où le pipeline devient le premier filet de sécurité de la nouvelle équipe.

Comment mesurer ce que le CI/CD change ?

Ce que le CI/CD change se mesure avec quelques indicateurs de livraison, relevés avant et après sa mise en place. Le programme de recherche DORA, aujourd’hui porté par Google Cloud, en retient cinq dans son guide mis à jour le 5 janvier 2026 :

IndicateurCe qu’il mesure
Délai d’une modificationLe temps entre l’enregistrement d’une modification dans le dépôt et son déploiement en production
Fréquence de déploiementLe nombre de déploiements sur une période, ou le temps qui les sépare
Temps de rétablissement après un déploiement ratéLe temps pour se remettre d’un déploiement qui a demandé une intervention immédiate
Taux d’échec des modificationsLa part des déploiements qui demandent une intervention immédiate, retour arrière ou correctif
Taux de reprise des déploiementsLa part des déploiements non prévus, faits pour corriger un incident en production

Les trois premiers disent si l’on livre vite, les deux derniers si l’on livre bien. Les suivre ensemble évite de gagner en vitesse au prix de la stabilité. Pour une application en maintenance, le taux d’échec rejoint les indicateurs de la maintenance corrective : moins de déploiements ratés, ce sont moins d’anomalies à corriger en urgence.

Questions fréquentes

Que veut dire CI/CD ?
CI signifie intégration continue (continuous integration). CD signifie livraison continue (continuous delivery) ou déploiement continu (continuous deployment). Ensemble, ils désignent l’automatisation du chemin entre une modification du code et sa mise en production.
Quelle différence entre livraison continue et déploiement continu ?
Avec la livraison continue, l’application est prête à partir en production à tout moment, mais une personne déclenche la mise en production. Avec le déploiement continu, toute modification qui passe les contrôles automatiques part en production sans validation humaine.
Qu’est-ce qu’un pipeline CI/CD ?
C’est la chaîne automatique qui, à chaque modification du code, compile l’application, la teste, l’analyse, en construit un paquet et le déploie, en s’arrêtant dès qu’une étape échoue.
Le CI/CD, est-ce la même chose que le DevOps ?
Non. Le DevOps est une démarche qui rapproche le développement et l’exploitation d’une application. Le CI/CD en est l’une des pratiques centrales, la plus outillée.
Faut-il des tests automatiques pour faire du CI/CD ?
Oui. Sans tests automatiques, un pipeline compile et déploie, mais il ne protège de rien. On commence par tester les fonctions dont l’activité dépend, puis on étend.
Peut-on mettre en place le CI/CD sur une application ancienne ?
Oui, par étapes : code sous contrôle de version, build automatique, premiers tests sur les fonctions critiques, déploiement automatique en recette, puis en production. L’ancienneté de l’application allonge le chemin, elle ne l’interdit pas.

CI/CD : commencez par un build qui se teste seul

Le CI/CD ne commence pas par un outil, mais par une habitude : intégrer souvent, compiler et tester à chaque modification, réparer tout de suite ce qui casse. Le déploiement automatique vient ensuite, quand les tests méritent la confiance qu’on leur donne.

L’équipe iones conçoit et met en place des pipelines CI/CD, de l’état des lieux à la mise en production, dans le cadre de son offre infra, DevOps et sécurité web. Pour faire le point sur votre chaîne de livraison, écrivez-nous.

Sources

  1. Continuous Integration, Martin Fowler — Version révisée du 18 janvier 2024
  2. Continuous Delivery, Jez Humble — continuousdelivery.com
  3. Qu’est-ce que le CI/CD ?, GitLab — Livraison continue et déploiement continu
  4. Top 10 CI/CD Security Risks, OWASP — Fondation OWASP
  5. NIST SP 800-204D, sécurité de la chaîne logicielle en CI/CD — Février 2024
  6. DORA’s software delivery performance metrics — Mise à jour du 5 janvier 2026

Démarrer un projet

Prêt à passer à l’action ?

Expliquez-nous votre besoin — nous revenons rapidement avec une lecture technique et un plan d’attaque.

  • Réponse sous 48–72 h
  • Échange sans engagement
  • Confidentialité NDA