Avant de tourner, une application a été écrite dans une forge, construite avec des dépendances venues d'un dépôt d'artefacts, puis rangée sous forme d'image dans un registre, d'où la plateforme la tire au démarrage. Ces trois familles forment la chaîne d'approvisionnement logicielle : elles ne sont pas sur le chemin des requêtes, mais rien ne se déploie sans elles. Cette leçon apprend à les distinguer, à séparer ce qui sert à construire de ce qui sert à exécuter, et à répondre à une question de panne : le registre tombe, un service déjà lancé continue-t-il ?
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Distinguer forge, dépôt d'artefacts et registre d'images
- Séparer ce qui sert à construire de ce qui sert à exécuter
- Prédire si un service lancé survit à la panne du registre
- Expliquer pourquoi un registre est une frontière de confiance
Forge, dépôt d'artefacts, registre : qui fait quoi ?
Section intitulée « Forge, dépôt d'artefacts, registre : qui fait quoi ? »La forge garde le code source et son historique, le dépôt d'artefacts garde les paquets dont le code dépend et ceux qu'il produit, et le registre garde les images de conteneurs prêtes à exécuter. Une forge comme GitLab, GitHub ou Gitea ajoute au dépôt Git les revues de code et, souvent, l'intégration continue. Un dépôt d'artefacts comme Nexus, Artifactory ou Pulp sert les paquets npm, PyPI, Maven ou RPM. Un registre comme Harbor ou celui d'un cloud sert les images au format OCI.
Le schéma suit le trajet d'une modification de la boutique, du code à l'exécution.
Le schéma montre une coupure nette. Les quatre premières flèches servent à construire : elles ne jouent qu'au moment d'une livraison. La dernière, du registre vers la plateforme, sert à exécuter : elle joue à chaque démarrage d'une copie. C'est cette coupure qui répond aux questions de panne, et elle fait du registre la seule brique de la chaîne dont dépend la production.
Le registre tombe : un service déjà lancé continue-t-il ?
Section intitulée « Le registre tombe : un service déjà lancé continue-t-il ? »Oui : une copie déjà lancée a son image sur la machine et continue de servir ; ce qui échoue, c'est tout nouveau démarrage sur une machine qui n'a pas l'image. Le runtime garde les images téléchargées dans un cache local. Une copie qui redémarre sur la même machine retrouve son image ; une copie placée sur une machine neuve doit la télécharger, et échoue.
Les situations touchées sont précisément celles où l'on a besoin de la
plateforme. Un déploiement ne peut pas tirer sa nouvelle version. Une montée
en charge ajoute des copies qui ne démarrent pas, avec l'état
ImagePullBackOff sur Kubernetes. Une machine qui tombe voit ses copies
replacées ailleurs, où elles ne démarrent pas. La panne d'un registre ne
coupe donc rien tant que tout va bien, et empêche de réagir dès que quelque
chose va mal.
Le tableau étend la même lecture aux deux autres familles.
| Brique en panne | Ce qui tourne | Ce qui échoue |
|---|---|---|
| forge | toute la production | livrer un correctif ; la synchronisation GitOps, qui garde le dernier état |
| dépôt d'artefacts | toute la production | construire : l'intégration continue ne trouve plus ses dépendances |
| registre | les copies déjà lancées | déployer, monter en charge, replacer une copie sur une autre machine |
Pourquoi un miroir local ?
Section intitulée « Pourquoi un miroir local ? »Un miroir garde une copie locale des dépendances et des images publiques, pour que la boutique ne dépende ni de la disponibilité ni des limites d'un service qu'elle ne maîtrise pas. Docker Hub limite le nombre de téléchargements anonymes ; un paquet peut être retiré de npm du jour au lendemain ; un registre public peut être indisponible pendant un incident. Un dépôt d'artefacts configuré en mandataire (proxy) sert la copie qu'il a déjà téléchargée.
Le miroir déplace la dépendance plutôt qu'il ne la supprime : il devient à son tour une brique à rendre disponible, à sauvegarder et à surveiller. Mais c'est une brique que la boutique maîtrise, dans son propre domaine de panne, et qui conserve ce que l'extérieur peut faire disparaître.
Pourquoi le registre est-il une frontière de confiance ?
Section intitulée « Pourquoi le registre est-il une frontière de confiance ? »Qui peut pousser une image dans le registre de production peut exécuter
son code en production : le registre est donc l'une des frontières de
confiance les plus sensibles de l'architecture. Une image remplacée sous le
même nom, par une étiquette réutilisée comme latest ou 1.4, est tirée au
prochain démarrage sans que personne ne s'en aperçoive. C'est le principe des
attaques de la chaîne d'approvisionnement.
Trois protections se lisent dans la configuration. Référencer l'image par son
empreinte, un sha256: qui désigne un contenu précis et ne peut pas être
réattribué. Faire signer l'image par l'intégration continue, et refuser au
démarrage toute image non signée. Restreindre le droit de pousser à
l'intégration continue seule, jamais aux comptes des développeurs. Ces
trois gestes font du registre une frontière vérifiée plutôt qu'une porte
ouverte.
| Question de la grille | Ce qu'il faut regarder |
|---|---|
| État porté | le code (forge), les paquets produits (dépôt), les images (registre) |
| À sauvegarder | la forge et ses paramètres ; les artefacts qu'on ne sait plus reconstruire |
| S'il tombe | rien ne s'arrête, plus rien ne se livre ; registre : plus rien ne redémarre ailleurs |
| Confiance | droit de pousser, signatures, références par empreinte |
| Signal à surveiller | échecs de téléchargement, espace disque, images non signées refusées |
Ce que la chaîne d'artefacts change dans la boutique
Section intitulée « Ce que la chaîne d'artefacts change dans la boutique »La boutique ne déploie plus que des images construites par son intégration continue, signées, rangées dans son propre registre et référencées par empreinte. Sur la V4 du fil rouge, le registre est relié à la plateforme d'exécution, et non à l'application : c'est la plateforme qui tire l'image, au démarrage. Le tableau pose le compromis.
| Ce qu'on gagne | Ce qu'on paie |
|---|---|
| des images connues, signées, tracées jusqu'au commit | un registre dont dépend chaque démarrage |
| des dépendances qui ne disparaissent plus de l'extérieur | un miroir à rendre disponible et à sauvegarder |
| un droit de pousser limité à l'intégration continue | une forge et une intégration continue devenues des cibles de premier rang |
Côté responsabilités, la forge, le registre et l'intégration continue appartiennent souvent à une équipe plateforme, qui n'est pas celle qui répond de la boutique. Leur panne bloque pourtant le correctif d'urgence de la boutique : leur disponibilité doit être convenue entre les deux équipes, pas découverte pendant l'incident.
Qui prend le relais pour installer une forge ou un registre ?
Section intitulée « Qui prend le relais pour installer une forge ou un registre ? »Cette leçon décrit le rôle architectural de ces familles ; leur installation et leur sécurisation relèvent des guides spécialisés du site. Le guide Gestion des artefacts compare les dépôts, dont Nexus et Harbor, registre avec proxy-cache. Registres de conteneurs explique le stockage et la distribution des images, et Gitea présente une forge auto-hébergée.
Pièges de lecture courants
Section intitulée « Pièges de lecture courants »Ces erreurs reviennent devant la chaîne d'artefacts, et elles viennent presque toutes d'une confusion entre construire et exécuter :
- Croire que la panne du registre arrête la production : elle empêche de la faire évoluer.
- Croire qu'elle est sans conséquence : la prochaine panne de machine ne se répare plus.
- Référencer une image par une étiquette qu'on peut réattribuer.
- Laisser les développeurs pousser directement dans le registre de production.
- Dépendre directement de registres publics sans miroir.
À retenir
Section intitulée « À retenir »- La forge garde le code, le dépôt les paquets, le registre les images.
- Construire dépend de toute la chaîne ; exécuter ne dépend que du registre.
- Registre en panne : ce qui tourne continue, rien ne redémarre ailleurs.
- Un miroir remplace une dépendance externe par une dépendance maîtrisée.
- Qui pousse dans le registre exécute en production : c'est une frontière de confiance.
- Empreinte, signature et droits limités protègent cette frontière.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Six questions sur ce qui sépare les trois briques : ce qu'une forge garde, ce qu'un dépôt d'artefacts sert, et ce qu'un registre exécute.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
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
Vérification
(0/0)Score par domaine
Un domaine regroupe plusieurs guides et reçoit plusieurs questions : son score est plus fiable qu'un score par thème, qui porte souvent sur une seule question.
Bilan
Points forts
Aucun sujet réussi à 80 % sur au moins deux questions pour l’instant.
Points faibles
Aucun sujet sous le seuil de réussite.
À faire ensuite
Des indices pour retenter votre chance ?
Continuer le cours : Plateformes d'exécution
Continuer le cours : Registres de conteneurs : comprendre le stockage et la distribution d'images
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications