<figure class="schema" id="schema">
<div class="schema-head">
<b><span data-lang="fr">Branches et environnements</span><span data-lang="en">Branches and environments</span></b>
<div class="legend"><span><i class="sw sw-feature"></i><span data-lang="fr">fonctionnalité</span><span data-lang="en">feature</span></span><span><i class="sw sw-develop"></i><span data-lang="fr">intégration</span><span data-lang="en">integration</span></span><span><i class="sw sw-release"></i><span data-lang="fr">version candidate</span><span data-lang="en">release candidate</span></span><span><i class="sw sw-hotfix"></i><span data-lang="fr">correctif</span><span data-lang="en">hotfix</span></span><span><i class="sw sw-main"></i>production</span></div>
</div>
<div class="svg-scroll">
<svg viewBox="0 0 1100 306" role="img" aria-label="GitFlow : feature → develop → release → main (v1.0) ; hotfix depuis main → main (v1.0.1) et develop">
<text class="lab t-main" x="0" y="72">main</text>
<text class="lab t-hotfix" x="0" y="126">hotfix/*</text>
<text class="lab t-release" x="0" y="180">release/*</text>
<text class="lab t-develop" x="0" y="234">develop</text>
<text class="lab t-feature" x="0" y="288">feature/*</text>
<rect class="pill l-main" x="950" y="51" width="150" height="30" rx="15"/><text class="pill-t" x="1025" y="71" text-anchor="middle">PROD</text>
<rect class="pill l-hotfix" x="950" y="105" width="150" height="30" rx="15"/><text class="pill-t" x="1025" y="125" text-anchor="middle" data-lang="fr">correctif urgent</text><text class="pill-t" x="1025" y="125" text-anchor="middle" data-lang="en">urgent fix</text>
<rect class="pill l-release" x="950" y="159" width="150" height="30" rx="15"/><text class="pill-t" x="1025" y="179" text-anchor="middle">QUAL · PREPROD</text>
<rect class="pill l-develop" x="950" y="213" width="150" height="30" rx="15"/><text class="pill-t" x="1025" y="233" text-anchor="middle">TEST</text>
<rect class="pill l-feature" x="950" y="267" width="150" height="30" rx="15"/><text class="pill-t" x="1025" y="287" text-anchor="middle" data-lang="fr">poste de dev</text><text class="pill-t" x="1025" y="287" text-anchor="middle" data-lang="en">dev machine</text>
<line class="lane l-main" x1="160" y1="66" x2="930" y2="66"/>
<line class="lane l-develop" x1="160" y1="228" x2="930" y2="228"/>
<path class="fork l-feature" d="M196 228 L227 282"/><line class="lane l-feature" x1="227" y1="282" x2="305" y2="282"/><path class="fork l-feature" d="M305 282 L336 228"/>
<circle class="node l-feature" cx="245" cy="282" r="6"/><circle class="node l-feature" cx="281" cy="282" r="6"/>
<path class="fork l-feature" d="M372 228 L402 282"/><line class="lane l-feature" x1="402" y1="282" x2="457" y2="282"/><path class="fork l-feature" d="M457 282 L487 228"/>
<circle class="node l-feature" cx="427" cy="282" r="6"/>
<path class="fork l-release" d="M518 228 L548 174"/><line class="lane l-release" x1="548" y1="174" x2="633" y2="174"/><path class="fork l-release" d="M633 174 L663 66"/><path class="fork l-release" d="M633 174 L663 228"/>
<circle class="node l-release" cx="566" cy="174" r="6"/><circle class="node l-release" cx="608" cy="174" r="6"/>
<path class="fork l-hotfix" d="M730 66 L760 120"/><line class="lane l-hotfix" x1="760" y1="120" x2="802" y2="120"/><path class="fork l-hotfix" d="M802 120 L833 66"/><path class="fork l-hotfix" d="M802 120 L833 228"/>
<circle class="node l-hotfix" cx="781" cy="120" r="6"/>
<circle class="node l-develop" cx="196" cy="228" r="6"/><circle class="node l-develop" cx="336" cy="228" r="6"/><circle class="node l-develop" cx="372" cy="228" r="6"/><circle class="node l-develop" cx="487" cy="228" r="6"/><circle class="node l-develop" cx="518" cy="228" r="6"/><circle class="node l-develop" cx="663" cy="228" r="6"/><circle class="node l-develop" cx="833" cy="228" r="6"/>
<circle class="node l-main" cx="663" cy="66" r="8"/><circle class="node l-main" cx="730" cy="66" r="6"/><circle class="node l-main" cx="833" cy="66" r="8"/>
<rect class="tagbox" x="631" y="16" width="64" height="26" rx="13"/><text class="tag-t" x="663" y="34" text-anchor="middle">v1.0</text>
<rect class="tagbox" x="795" y="16" width="76" height="26" rx="13"/><text class="tag-t" x="833" y="34" text-anchor="middle">v1.0.1</text>
</svg>
</div>
{{#unless hideEnvs}}
<ol class="envs" aria-label="Chemin vers la production / Path to production">
<li class="env e-test"><span class="env-name">TEST</span><span class="chip">develop</span><p><span data-lang="fr">Intégration continue avec le jeu de test</span><span data-lang="en">Continuous integration with the test dataset</span></p></li>
<li class="gate"><span class="lock"><svg class="ico" aria-hidden="true"><use href="#i-lock"/></svg></span><span class="gate-t"><span data-lang="fr">IT ouvre la release</span><span data-lang="en">IT opens the release</span></span></li>
<li class="env"><span class="env-name">QUAL</span><span class="chip">release/*</span><p><span data-lang="fr">Recette par le métier</span><span data-lang="en">Business acceptance testing</span></p></li>
<li class="gate"><span class="lock"><svg class="ico" aria-hidden="true"><use href="#i-lock"/></svg></span><span class="gate-t"><span data-lang="fr">recette validée</span><span data-lang="en">acceptance signed off</span></span></li>
<li class="env"><span class="env-name">PREPROD</span><span class="chip"><span data-lang="fr">release/* recettée</span><span data-lang="en">accepted release/*</span></span><p><span data-lang="fr">Répétition de la mise en production</span><span data-lang="en">Production rehearsal</span></p></li>
<li class="gate"><span class="lock"><svg class="ico" aria-hidden="true"><use href="#i-lock"/></svg></span><span class="gate-t"><span data-lang="fr">IT approuve</span><span data-lang="en">IT approves</span></span></li>
<li class="env e-prod"><span class="env-name">PROD</span><span class="chip"><span data-lang="fr">main + version</span><span data-lang="en">main + version</span></span><p><span data-lang="fr">Vos utilisateurs</span><span data-lang="en">Your users</span></p></li>
</ol>
<figcaption><span data-lang="fr">Chaque fonctionnalité vit sur sa propre branche et rejoint TEST une fois terminée. Une version candidate part ensuite en QUAL pour la recette du métier, puis en PREPROD pour répéter la mise en production. L’IT approuve, et la version part en PROD avec son numéro.</span><span data-lang="en">Each feature lives on its own branch and joins TEST once finished. A release candidate then goes to QUAL for business acceptance, then to PREPROD to rehearse the go-live. IT approves, and the version goes to PROD with its number.</span></figcaption>
{{/unless}}
</figure>
