<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://about.gitlab.com/blog</id>
    <title>GitLab</title>
    <updated>2025-07-03T13:18:00.596Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>The GitLab Team</name>
    </author>
    <link rel="alternate" href="https://about.gitlab.com/blog"/>
    <link rel="self" href="https://about.gitlab.com/atom.xml"/>
    <subtitle>Gitlab Blog RSS feed</subtitle>
    <icon>https://about.gitlab.com/favicon.ico</icon>
    <rights>All rights reserved 2025,</rights>
    <entry>
        <title type="html"><![CDATA[Nouveautés de Git 2.50.0]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/what-s-new-in-git-2-50-0/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/what-s-new-in-git-2-50-0/"/>
        <updated>2025-07-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Le projet Git a récemment publié la <a href="https://lore.kernel.org/git/xmqq1prj1umb.fsf@gitster.g/T/#u">version 2.50.0 de Git</a>. Découvrons les points forts de cette nouvelle version, qui comprend les contributions de l'équipe Git de GitLab et de la communauté Git.</p>
<h2>Nouvelle commande git-diff-pairs(1)</h2>
<p>Les diffs sont au cœur de chaque revue de code et affichent toutes les modifications apportées entre deux révisions. Dans GitLab, ils apparaissent à plusieurs endroits, généralement dans l'onglet <a href="https://docs.gitlab.com/user/project/merge_requests/changes/">« Modifications »</a> d'une merge request. En arrière-plan, la génération de diff est optimisée par <a href="https://git-scm.com/docs/git-diff"><code>git-diff(1)</code></a>.</p>
<p>Par exemple :</p>
<pre><code class="language-shell">$ git diff HEAD~1 HEAD
</code></pre>
<p>Cette commande renvoie le diff complet de tous les fichiers modifiés. Son utilisation peut poser un problème d'évolutivité, car le nombre de fichiers modifiés entre différentes versions du code peut être très important, et le backend GitLab risque de dépasser une délai d'attente maximal qu'il s'impose pour exécuter cette commande. Pour les grands ensembles de modifications, il est préférable de pouvoir diviser le calcul des diffs en blocs plus petits et plus faciles à assimiler.</p>
<p>Pour ce faire, vous pouvez utiliser <a href="https://git-scm.com/docs/git-diff-tree/fr"><code>git-diff-tree(1)</code></a> pour récupérer des informations sur tous les fichiers modifiés :</p>
<pre><code class="language-shell">$ git diff-tree -r -M --abbrev HEAD~ HEAD
:100644 100644 c9adfed339 99acf81487 M Documentation/RelNotes/2.50.0.adoc
:100755 100755 1047b8d11d 208e91a17f M GIT-VERSION-GEN
</code></pre>
<p>Git appelle ce résultat le <a href="https://git-scm.com/docs/git-diff-tree/fr">format « brut »</a>. En bref, chaque ligne de sortie répertorie les paires de fichiers et les métadonnées associées en lien avec les modifications apportées entre les révisions de début et de fin. En comparaison avec la génération de la sortie de « correctif » pour les modifications importantes, ce processus est relativement rapide et fournit un résumé de tous les éléments qui ont été modifiés. Cette commande peut éventuellement effectuer détection de changement de nom en ajoutant <code>-M</code> pour vérifier si les modifications identifiées étaient dues à un changement de nom de fichier.</p>
<p>Avec ces informations, nous pourrions utiliser <code>git-diff(1)</code> pour calculer chacun des diffs de paire de fichiers individuellement.
<br>
Par exemple, nous pouvons fournir directement des ID de blob :</p>
<pre><code class="language-shell">$ git diff 1047b8d11de767d290170979a9a20de1f5692e26 208e91a17f04558ca66bc19d73457ca64d5385f
</code></pre>
<p>Nous pouvons répéter ce processus pour chacune des paires de fichiers, mais lancer un processus Git distinct pour chaque diff de fichier n'est pas une approche efficace. De plus, lorsque vous utilisez des ID de blob, le diff perd certaines informations contextuelles telles que le statut de modification et les modes de fichier qui sont stockés dans l'objet arbre parent. En réalité, nous avons besoin d'un mécanisme permettant d'alimenter des informations « brutes » sur les paires de fichiers et de générer la sortie de correctifs correspondants.</p>
<p>Avec la version 2.50.0, Git dispose d’une nouvelle commande intégrée <code>git-diff-pairs(1)</code>, qui prend en charge les informations de paires de fichiers au format « brut » en tant qu'entrée sur stdin pour déterminer avec précision les correctifs à générer.</p>
<p>L'exemple suivant montre comment cette commande peut être utilisée :</p>
<pre><code class="language-shell">$ git diff-tree -r -z -M HEAD~ HEAD | git diff-pairs -z
</code></pre>
<p>De cette façon, la sortie générée est identique à celle obtenue avec <code>git-diff(1)</code>. En utilisant une commande distincte pour générer la sortie de correctif, la sortie « brute » de <code>git-diff-tree(1)</code> peut être divisée en lots plus petits de paires de fichiers et envoyée vers des processus <code>git-diff-pairs(1)</code> distincts. Cette approche résout le problème d'évolutivité mentionné précédemment, car le calcul des diffs ne s'effectue plus en une seule fois. Les futures versions de GitLab pourraient s'appuyer sur ce mécanisme pour améliorer les performances de génération de diff, en particulier lorsque de grands ensembles de modifications sont concernés.</p>
<p>Pour plus d'informations sur ce changement, consultez ce <a href="https://lore.kernel.org/git/20250228213346.1335224-1-jltobler@gmail.com/">fil de discussion</a>.
<br>
Ce projet a été mené par <a href="https://gitlab.com/justintobler">Justin Tobler</a>.</p>
<h2>Mises à jour des références par lots</h2>
<p>Git fournit la commande <code>git-update-ref(1)</code> pour effectuer des mises à jour de références. Lorsqu'elle est associée à <code>--stdin</code>, il est possible de regrouper plusieurs mises à jour de références en une seule transaction en indiquant des instructions pour chaque mise à jour à effectuer sur stdin. La mise à jour des références par lot offre également un comportement atomique : si une seule mise à jour échoue, la transaction est annulée et aucune référence n'est mise à jour.</p>
<p>Voici un exemple illustrant ce comportement :</p>
<pre><code class="language-shell"># Create repository with three empty commits and branch named &quot;foo&quot;
$ git init
$ git commit --allow-empty -m 1
$ git commit --allow-empty -m 2
$ git commit --allow-empty -m 3
$ git branch foo
# Print out the commit IDs
$ git rev-list HEAD
cf469bdf5436ea1ded57670b5f5a0797f72f1afc
5a74cd330f04b96ce0666af89682d4d7580c354c
5a6b339a8ebffde8c0590553045403dbda831518
# Attempt to create a new reference and update existing reference in transaction.
# Update is expected to fail because the specified old object ID doesn’t match.
$ git update-ref --stdin &lt;&lt;EOF
&gt; create refs/heads/bar cf469bdf5436ea1ded57670b5f5a0797f72f1afc
&gt; update refs/heads/foo 5a6b339a8ebffde8c0590553045403dbda831518 5a74cd330f04b96ce0666af89682d4d7580c354c
&gt; EOF
fatal: cannot lock ref 'refs/heads/foo': is at cf469bdf5436ea1ded57670b5f5a0797f72f1afc but expected 5a74cd330f04b96ce0666af89682d4d7580c354c
# The &quot;bar&quot; reference was not created.
$ git switch bar
fatal: invalid reference: bar
</code></pre>
<p>En comparaison avec la mise à jour de nombreuses références une par une, la mise à jour par lot est également beaucoup plus efficace. Toutefois, dans certaines circonstances, il peut être acceptable qu'un sous-ensemble des mises à jour de références demandées échoue. Cela ne remet pas en cause les gains de productivité obtenus grâce aux mises à jour par lot.</p>
<p>Avec cette version, <code>git-update-ref(1)</code> met à disposition la nouvelle option <code>--batch-updates</code>, qui permet aux mises à jour de se poursuivre même lorsqu'une ou plusieurs mises à jour de références échouent.</p>
<p>Dans ce mode, les échecs individuels sont signalés dans le format suivant :</p>
<pre><code class="language-text">rejected SP (&lt;old-oid&gt; | &lt;old-target&gt;) SP (&lt;new-oid&gt; | &lt;new-target&gt;) SP &lt;rejection-reason&gt; LF
</code></pre>
<p>Cela permet de poursuivre les mises à jour de références réussies, tout en fournissant un contexte indiquant celles qui ont été rejetées et pour quelle raison.</p>
<p>Voici ce que nous obtenons en utilisant le même exemple de dépôt que dans l'exemple précédent :</p>
<pre><code class="language-shell"># Attempt to create a new reference and update existing reference in transaction.
$ git update-ref --stdin --batch-updates &lt;&lt;EOF
&gt; create refs/heads/bar cf469bdf5436ea1ded57670b5f5a0797f72f1afc
&gt; update refs/heads/foo 5a6b339a8ebffde8c0590553045403dbda831518 5a74cd330f04b96ce0666af89682d4d7580c354c
&gt; EOF
rejected refs/heads/foo 5a6b339a8ebffde8c0590553045403dbda831518 5a74cd330f04b96ce0666af89682d4d7580c354c incorrect old value provided
# The &quot;bar&quot; reference was created even though the update to &quot;foo&quot; was rejected.
$ git switch bar
Switched to branch 'bar'
</code></pre>
<p>Cette fois, avec l'option <code>--batch-updates</code>, la création de la référence a réussi même si la mise à jour n'a pas fonctionné. Cette série de correctifs est un aperçu des futures améliorations des performances de <code>git-fetch(1)</code> et <code>git-receive-pack(1)</code> lors de la mise à jour de références par lot.</p>
<p>Pour plus d'informations, consultez ce <a href="https://lore.kernel.org/git/20250408085120.614893-1-karthik.188@gmail.com/">fil de discussion</a>.</p>
<p>Ce projet a été mené par <a href="https://gitlab.com/knayakgl">Karthik Nayak</a>.</p>
<h2>Nouvelle option de filtre pour git-cat-file(1)</h2>
<p>Avec <code>git-cat-file(1)</code>, il est possible d’afficher des informations pour tous les objets contenus dans le dépôt via l'option <code>--batch–all-objects</code>.</p>
<p>En voici un exemple :</p>
<pre><code class="language-shell"># Setup simple repository.
$ git init
$ echo foo &gt;foo
$ git add foo
$ git commit -m init
# Create an unreachable object.
$ git commit --amend --no-edit
# Use git-cat-file(1) to print info about all objects including unreachable objects.
$ git cat-file --batch-all-objects --batch-check='%(objecttype) %(objectname)'
commit 0b07e71d14897f218f23d9a6e39605b466454ece
tree 205f6b799e7d5c2524468ca006a0131aa57ecce7
blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99
commit c999f781fd7214b3caab82f560ffd079ddad0115
</code></pre>
<p>Dans certains cas, un utilisateur peut effectuer une recherche dans tous les objets du dépôt, mais n'afficher qu'un sous-ensemble basé sur un attribut spécifique.</p>
<p>Par exemple, si nous voulons voir uniquement les objets qui correspondent à des commits, nous pouvons utiliser <code>grep(1)</code> :</p>
<pre><code class="language-shell">$ git cat-file --batch-all-objects --batch-check='%(objecttype) %(objectname)' | grep ^commit
commit 0b07e71d14897f218f23d9a6e39605b466454ece
commit c999f781fd7214b3caab82f560ffd079ddad0115
</code></pre>
<p>Bien que cela fonctionne, un des inconvénients du filtrage de la sortie est que <code>git-cat-file(1)</code> doit toujours parcourir tous les objets du dépôt, même ceux qui n'intéressent pas l'utilisateur. Cette approche peut se révéler assez inefficace.</p>
<p>Avec la version 2.50.0, <code>git-cat-file(1)</code> dispose désormais de l'option <code>--filter</code>, qui n'affiche que les objets correspondant aux critères spécifiés. Celle-ci est similaire à l'option du même nom pour <code>git-rev-list(1)</code>, mais seul un sous-ensemble des filtres est pris en charge : <code>blob:none</code>, <code>blob:limit=</code>, ainsi que <code>object:type=</code>.</p>
<p>Comme dans l'exemple précédent, il est possible de filtrer les objets par type avec <a href="https://about.gitlab.com/fr-fr/blog/what-is-git/" title="Qu'est-ce que Git ?">Git</a> directement :</p>
<pre><code class="language-shell">$ git cat-file --batch-all-objects --batch-check='%(objecttype) %(objectname)' --filter='object:type=commit'
commit 0b07e71d14897f218f23d9a6e39605b466454ece
commit c999f781fd7214b3caab82f560ffd079ddad0115
</code></pre>
<p>Cette approche facilite le traitement par Git, mais également la recherche dans les grands dépôts contenant de nombreux objets. Si un dépôt dispose d'index bitmap, Git peut rechercher efficacement des objets d'un type spécifique, sans scanner le fichier d'empaquetage («packfile»), ce qui accélère de manière considérable le processus.</p>
<p>Les benchmarks effectués sur le <a href="https://github.com/chromium/chromium.git">dépôt Chromium</a> montrent des améliorations significatives :</p>
<pre><code class="language-text">Benchmark 1: git cat-file --batch-check --batch-all-objects --unordered --buffer --no-filter
Time (mean ± σ): 82.806 s ± 6.363 s [User: 30.956 s, System: 8.264 s]
Range (min … max): 73.936 s … 89.690 s 10 runs
Benchmark 2: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tag
Time (mean ± σ): 20.8 ms ± 1.3 ms [User: 6.1 ms, System: 14.5 ms]
Range (min … max): 18.2 ms … 23.6 ms 127 runs
Benchmark 3: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=commit
Time (mean ± σ): 1.551 s ± 0.008 s [User: 1.401 s, System: 0.147 s]
Range (min … max): 1.541 s … 1.566 s 10 runs
Benchmark 4: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tree
Time (mean ± σ): 11.169 s ± 0.046 s [User: 10.076 s, System: 1.063 s]
Range (min … max): 11.114 s … 11.245 s 10 runs
Benchmark 5: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=blob
Time (mean ± σ): 67.342 s ± 3.368 s [User: 20.318 s, System: 7.787 s]
Range (min … max): 62.836 s … 73.618 s 10 runs
Benchmark 6: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=blob:none
Time (mean ± σ): 13.032 s ± 0.072 s [User: 11.638 s, System: 1.368 s]
Range (min … max): 12.960 s … 13.199 s 10 runs
Summary
git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tag
74.75 ± 4.61 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=commit
538.17 ± 33.17 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tree
627.98 ± 38.77 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=blob:none
3244.93 ± 257.23 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=blob
3990.07 ± 392.72 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --no-filter
</code></pre>
<p>Il est intéressant de noter que ces résultats indiquent que le temps de calcul est maintenant proportionnel au nombre d'objets pour un type donné plutôt qu'au nombre total d'objets dans le fichier d'empaquetage. Pour plus d'informations, consultez ce <a href="https://lore.kernel.org/git/20250221-pks-cat-file-object-type-filter-v1-0-0852530888e2@pks.im/">fil de discussion</a>.</p>
<p><em>Ce projet a été mené par <a href="https://gitlab.com/pks-gitlab">Patrick Steinhardt</a>.</em></p>
<h2>Amélioration des performances lors de la génération de paquets</h2>
<p>Avec Git, vous pouvez générer une archive d'un dépôt qui contient un ensemble spécifié de références et d'objets accessibles qui l'accompagnent via la commande <a href="https://git-scm.com/docs/git-bundle/fr"><code>git-bundle(1)</code></a>. Cette opération est utilisée par GitLab pour générer des sauvegardes de dépôt et dans le cadre du mécanisme <a href="https://git-scm.com/docs/bundle-uri"><code>bundle-URI</code></a>.</p>
<p>Pour les grands dépôts contenant des millions de références, cette opération peut prendre plusieurs heures, voire même plusieurs jours. Par exemple, avec le dépôt principal de GitLab (<a href="https://gitlab.com/gitlab-org/gitlab">gitlab-org/gitlab</a>), les temps de sauvegarde étaient d'environ 48 heures. Des recherches ont révélé la présence d'un goulot d'étranglement des performances en raison de la façon dont Git effectuait une vérification pour éviter que des références dupliquées ne soient incluses dans le paquet. L'implémentation a utilisé une boucle <code>for</code> imbriquée pour itérer et comparer toutes les références répertoriées, ce qui a entraîné une complexité temporelle O(N^2). Cette façon de procéder n'est pas adaptée en cas d'augmentation du nombre de références dans un dépôt.</p>
<p>Dans la version 2.50.0, ce problème a été résolu en remplaçant les boucles imbriquées par une structure de données de mappage, ce qui a permis d'accélérer considérablement le processus. Le benchmark suivant montre l'amélioration des performances lors de la création d'un paquet avec un dépôt contenant 100 000 références :</p>
<pre><code class="language-text">Benchmark 1: bundle (refcount = 100000, revision = master)
Time (mean ± σ): 14.653 s ± 0.203 s [User: 13.940 s, System: 0.762 s]
Range (min … max): 14.237 s … 14.920 s 10 runs
Benchmark 2: bundle (refcount = 100000, revision = HEAD)
Time (mean ± σ): 2.394 s ± 0.023 s [User: 1.684 s, System: 0.798 s]
Range (min … max): 2.364 s … 2.425 s 10 runs
Summary
bundle (refcount = 100000, revision = HEAD) ran
6.12 ± 0.10 times faster than bundle (refcount = 100000, revision = master)
</code></pre>
<p>Pour en savoir plus, découvrez notre article de blog qui explique <a href="https://about.gitlab.com/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/">comment nous avons réduit les temps de sauvegarde du dépôt GitLab de 48 heures à 41 minutes</a> et consultez ce <a href="https://lore.kernel.org/git/20250401-488-generating-bundles-with-many-references-has-non-linear-performance-v1-0-6d23b2d96557@gmail.com/">fil de discussion</a>.</p>
<p><em>Ce projet a été mené par <a href="https://gitlab.com/knayakgl">Karthik Nayak</a>.</em></p>
<h2>Meilleur dégroupage des URI de paquets</h2>
<p>À l'aide du mécanisme <a href="https://git-scm.com/docs/bundle-uri">bundle-uri</a> dans Git, il est possible de fournir aux clients les emplacements pour récupérer les paquets dans le but d'accélérer les clones et les récupérations. Lorsqu'un client télécharge un paquet, les références sous <code>refs/heads/*</code> et les objets qui les accompagnent sont copiés du paquet dans le dépôt. Un paquet peut contenir des références supplémentaires en dehors de <code>refs/heads/*</code> telles que <code>refs/tags/*</code>, qui sont simplement ignorées lors de l'utilisation de l'URI du paquet sur le clone.</p>
<p>Dans Git 2.50.0, cette restriction est levée. Par conséquent, toutes les références correspondant à <code>refs/*</code> contenues dans le paquet téléchargé sont copiées.</p>
<p><a href="https://github.com/schacon">Scott Chacon</a>, qui a contribué à cette fonctionnalité, montre la différence lors du clonage de <a href="https://gitlab.com/gitlab-org/gitlab-foss">gitlab-org/gitlab-foss</a> :</p>
<pre><code class="language-shell">$ git-v2.49 clone --bundle-uri=gitlab-base.bundle https://gitlab.com/gitlab-org/gitlab-foss.git gl-2.49
Cloning into 'gl2.49'...
remote: Enumerating objects: 1092703, done.
remote: Counting objects: 100% (973405/973405), done.
remote: Compressing objects: 100% (385827/385827), done.
remote: Total 959773 (delta 710976), reused 766809 (delta 554276), pack-reused 0 (from 0)
Receiving objects: 100% (959773/959773), 366.94 MiB | 20.87 MiB/s, done.
Resolving deltas: 100% (710976/710976), completed with 9081 local objects.
Checking objects: 100% (4194304/4194304), done.
Checking connectivity: 959668, done.
Updating files: 100% (59972/59972), done.
$ git-v2.50 clone --bundle-uri=gitlab-base.bundle https://gitlab.com/gitlab-org/gitlab-foss.git gl-2.50
Cloning into 'gl-2.50'...
remote: Enumerating objects: 65538, done.
remote: Counting objects: 100% (56054/56054), done.
remote: Compressing objects: 100% (28950/28950), done.
remote: Total 43877 (delta 27401), reused 25170 (delta 13546), pack-reused 0 (from 0)
Receiving objects: 100% (43877/43877), 40.42 MiB | 22.27 MiB/s, done.
Resolving deltas: 100% (27401/27401), completed with 8564 local objects.
Updating files: 100% (59972/59972), done.
</code></pre>
<p>En comparant ces résultats, nous constatons que Git 2.50.0 récupère 43 887 objets (40,42 MiB) après l'extraction du paquet, tandis que Git 2.49.0 récupère un total de 959 773 objets (366,94 MiB). Git 2.50.0 récupère environ 95 % d'objets en moins et 90 % de données en moins, ce qui est avantageux aussi bien pour le client que le serveur. Le serveur doit traiter beaucoup moins de données à destination du client, et ce dernier doit télécharger et extraire moins de données. Dans l'exemple fourni par Scott, cela a conduit à une accélération de 25 %.</p>
<p>Pour en savoir plus, consultez ce <a href="https://lore.kernel.org/git/pull.1897.git.git.1740489585344.gitgitgadget@gmail.com/">fil de discussion</a>.</p>
<p><em>Cette série de correctifs a été fournie par Scott Chacon.</em></p>
<h2>En savoir plus</h2>
<p>Cet article n'a mis en évidence que quelques-unes des contributions apportées par GitLab et la communauté Git pour cette nouvelle version. Vous pouvez approfondir ce sujet en lisant <a href="https://lore.kernel.org/git/xmqqa5fg9bsz.fsf@gitster.g/">l'annonce officielle</a> du projet Git et en consultant ces <a href="https://about.gitlab.com/blog/tags/git/">ressources</a>.</p>
]]></content>
        <author>
            <name>Justin Tobler</name>
            <uri>https://about.gitlab.com/blog/authors/justin-tobler</uri>
        </author>
        <published>2025-07-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo et Amazon Q : des revues de code plus rapides]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q/"/>
        <updated>2025-06-27T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Les revues de code sont essentielles pour détecter les bogues, améliorer la lisibilité du code et garantir le respect des normes de codage. Elles peuvent toutefois constituer un goulot d'étranglement majeur qui ralentit votre workflow. Lorsque vous devez livrer rapidement des fonctionnalités, attendre que plusieurs membres de l'équipe examinent votre code peut vite devenir une source de frustration. Entre les discussions interminables, les conflits de calendrier et le temps nécessaire pour que tout le monde soit sur la même longueur d'onde, une revue de code simple peut facilement s'étendre sur plusieurs jours, voire plusieurs semaines.</p>
<p>Avec <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo combiné à Amazon Q</a>, ce scénario appartient maintenant au passé. Notre nouvel outil d'<a href="https://about.gitlab.com/fr-fr/topics/agentic-ai/" title="Qu'est-ce que l'IA agentique ?">IA agentique</a> dédié aux clients AWS intervient à chaque étape du cycle de développement logiciel pour effectuer une revue complète de votre code en une fraction du temps qu'il vous faudrait, à vous et vos collègues. En tirant parti des capacités avancées de l'IA agentique, GitLab Duo combiné à Amazon Q rationalise l'ensemble de votre workflow de revue de code et maintient la qualité et la rigueur dont votre équipe a besoin. Vous disposez ainsi d'un relecteur expérimenté et disponible à tout moment, capable d'analyser instantanément votre code, de détecter les problèmes et de fournir des recommandations pertinentes et exploitables.</p>
<h2>Lancement d'une revue de code</h2>
<p>Comment fonctionne GitLab Duo combiné à Amazon Q ? Imaginons que vous venez de finaliser la mise à jour d'une fonctionnalité via une merge request répertoriant toutes les modifications que vous avez apportées au code. Au lieu de contacter vos collègues et d'attendre qu'ils soient disponibles pour relire votre travail, il vous suffit de saisir une commande rapide directement dans les commentaires : « /q review ». Cette commande suffit pour que l’IA entre en action.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097002/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097002096.png" alt="Déclenchement d'une revue de code à l'aide de GitLab Duo combiné à Amazon Q"></p>
<p>L'agent Amazon Q s'active immédiatement et analyse vos modifications. Un message de confirmation vous indique que la revue de code est en cours et, en quelques instants, l'IA examine votre travail ligne par ligne, à la recherche d'erreurs, de bogues et d'anomalies potentiels.</p>
<p>Une fois la revue de code terminée, vous recevez des commentaires détaillés qui couvrent tous les points critiques, conformément aux standards de votre équipe en matière de codage : détection de bogues, amélioration de la lisibilité, erreurs de syntaxe. Chaque retour de l'agent d'IA est contextualisé, avec des suggestions précises pour résoudre ces problèmes. Il vous aide à comprendre facilement ce qui nécessite votre attention et pourquoi.</p>
<p>L'intérêt de cette approche basée sur l'IA agentique est qu'elle gère tous les aspects fastidieux de la revue de code afin que vous puissiez vous concentrer sur ce qui compte le plus : créer des logiciels performants. Vous bénéficiez des avantages d'une revue de code approfondie (détection des bogues améliorée, cohérence du code et code de meilleure qualité) sans perdre de temps. Vos délais de déploiement s'en trouvent considérablement réduits, car vous n'avez plus à patienter pour votre revue de code. Toute votre équipe gagne ainsi en productivité.</p>
<h2>Pourquoi utiliser GitLab Duo combiné à Amazon Q ?</h2>
<p>GitLab Duo combiné à Amazon Q transforme votre workflow de développement en profondeur :</p>
<ul>
<li>Des revues de code ultra-rapides, sans compromis sur la qualité</li>
<li>Une application cohérente des normes sur l'ensemble de votre code source</li>
<li>Des commentaires instantanés pour résoudre les problèmes avant qu'ils n'atteignent l'environnement de production</li>
<li>Des délais de déploiement réduits pour livrer de nouvelles fonctionnalités, plus rapidement</li>
<li>Plus de temps pour se concentrer sur la résolution créative des problèmes plutôt que sur des revues de code répétitives</li>
</ul>
<p>Regardez cette vidéo et découvrez comment GitLab Duo combiné à Amazon Q peut optimiser votre processus de revue de code :</p>
<p>&lt;!-- blank line --&gt; &lt;figure class=&quot;video_container&quot;&gt; &lt;iframe src=&quot;https://www.youtube.com/embed/4gFIgyFc02Q?si=GXVz--AIrWiwzf-I&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt; &lt;/figure&gt; &lt;!-- blank line --&gt;</p>
<p>Pour en savoir plus sur GitLab Duo combiné à Amazon Q, <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/aws/">contactez votre représentant GitLab</a>.</p>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-06-27T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Approche CI/CD : notre guide complet]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation/"/>
        <updated>2025-06-25T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>L'adoption des pratiques <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ?">CI/CD</a> a révolutionné la création de valeur dans le développement logiciel. L'époque des déploiements manuels et des défis d'intégration complexes est désormais révolue : aujourd'hui, le développement logiciel moderne met l'accent sur l'automatisation, la fiabilité et la rapidité.</p>
<p>L'approche CI/CD repose sur la mise en place d'un pipeline fluide et automatisé qui permet de transférer le code de l'environnement de développement vers l'environnement de production, tout en intégrant les retours et suggestions de modification en temps réel. L'intégration continue (CI) aide les équipes à détecter rapidement les problèmes avant qu'ils ne deviennent coûteux. Les modifications de code sont fréquemment fusionnées dans un dépôt partagé, puis testées automatiquement et validées. La livraison continue (CD) vient compléter cette démarche. Elle vise à automatiser le processus de déploiement, rendant les sorties de nouvelles versions prévisibles et harmonieuses.</p>
<p>Grâce à un pipeline CI/CD robuste, les équipes peuvent compiler, tester et déployer leurs logiciels sans dépendre de processus manuels ou de chaînes d’outils complexes. L'intégration de l'IA aide à optimiser encore davantage ce processus, en générant automatiquement des pipelines CI/CD qui garantissent la cohérence des contrôles de qualité, de conformité et de sécurité.</p>
<p>Découvrez dans ce guide tout ce que vous devez sur les pipelines CI/CD modernes, des principes de base aux bonnes pratiques, en passant par les stratégies avancées. Apprenez également comment les grandes entreprises leaders dans leur domaine tirent parti de l'approche CI/CD pour atteindre des résultats impressionnants. À l’issue de cette lecture, vous saurez comment faire évoluer votre environnement <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> afin de développer et de livrer des logiciels de manière <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/continuous-integration-agile/" title="Intégration continue et développement agile">agile</a>, automatisée et efficace.</p>
<h2>Qu'est-ce que l'intégration continue ?</h2>
<p>L'<a href="https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/" title="Qu'est-ce que l’intégration continue ?">intégration continue</a> (CI) est une pratique qui consiste à intégrer régulièrement les modifications de code dans la branche principale d'un dépôt de code source partagé. Cette intégration s'effectue dès que possible, et fréquemment. Après chaque validation ou merge, les modifications sont automatiquement testées, puis une compilation est déclenchée sans intervention manuelle. Grâce à l'intégration continue, les équipes peuvent identifier et corriger les erreurs, ainsi que les failles de sécurité, plus facilement et beaucoup plus tôt dans le processus de développement.</p>
<h2>Qu'est-ce que la livraison continue ?</h2>
<p><a href="https://about.gitlab.com/fr-fr/topics/ci-cd/#what-is-continuous-delivery-cd" title="Qu'est-ce que la livraison continue ?">La livraison continue</a> (CD), également appelée <em>déploiement continu</em>, automatise le processus de mise en production des applications. Les équipes de développement ont ainsi plus de temps à consacrer au suivi des déploiements en cours pour en garantir la réussite. Avec la livraison continue, les équipes DevSecOps définissent à l'avance les critères de mise à disposition du code. Une fois ces critères remplis et validés, le code est automatiquement déployé dans l'environnement de production. Cette automatisation permet aux entreprises de gagner en flexibilité et de mettre plus rapidement de nouvelles fonctionnalités à disposition des utilisateurs.</p>
<h2>Quel est le lien entre la gestion du code source et l'approche CI/CD ?</h2>
<p>La <a href="https://about.gitlab.com/fr-fr/solutions/source-code-management/" title="Gestion du code source">gestion du code source (SCM)</a> et l'approche CI/CD constituent la base des pratiques modernes de développement logiciel. Les systèmes SCM, comme <a href="https://about.gitlab.com/blog/what-is-git-the-ultimate-guide-to-gits-role-and-functionality/" title="Qu'est-ce que Git?">Git</a>, offrent une solution centralisée pour suivre les modifications, gérer les versions de code et faciliter la collaboration entre les membres de l'équipe. Lorsqu’un développeur travaille sur une nouvelle fonctionnalité ou une correction de bogues, il crée une branche à partir du code source et apporte ses modifications avant de les <a href="https://docs.gitlab.com/ee/user/project/merge_requests/">fusionner à l'aide des merge requests</a>. Cette stratégie de gestion de branches permet à plusieurs développeurs de travailler simultanément sans interférer avec le code de leurs collègues, tout en maintenant une branche principale stable qui contient un code prêt à être déployé dans l'environnement de production.</p>
<p>L'approche CI/CD automatise les étapes de compilation, de test et de validation du code géré par le système SCM à chaque push de modifications. Lorsqu'un développeur soumet ses modifications de code, le système CI/CD récupère automatiquement le code le plus récent, le combine avec le code source existant, puis exécute une série de vérifications automatisées. Celles-ci comprennent généralement la compilation du code, l'exécution de tests unitaires, l'analyse statique du code et la vérification de la couverture de code. En cas d’échec d’une de ces étapes, l'équipe en est immédiatement informée, ce qui lui permet de résoudre les problèmes avant qu'ils n'affectent d'autres développeurs ou qu'ils n’apparaissent dans l'environnement de production. Cette intégration étroite entre le contrôle de version et l'intégration continue crée une boucle de rétroaction constante qui garantit la qualité du code et prévient l'accumulation de problèmes d'intégration.</p>
<h2>Quels sont les avantages de l'approche CI/CD ?</h2>
<p><a href="https://about.gitlab.com/blog/ten-reasons-why-your-business-needs-ci-cd/">L'approche CI/CD apporte de nombreux avantages qui transforment le développement logiciel moderne</a> et réduisent considérablement les délais ainsi que les risques associés à la livraison de nouvelles fonctionnalités et corrections de bogues. Grâce à une boucle de rétroaction continue, les équipes DevSecOps peuvent garantir que leurs modifications sont automatiquement validées sur l'ensemble du code source.</p>
<p>Résultat : des logiciels de meilleure qualité, des cycles de livraison plus courts et des sorties de nouvelles versions plus fréquentes pour répondre rapidement aux besoins des utilisateurs et aux demandes du marché.</p>
<p>Au-delà des aspects techniques, l'approche CI/CD favorise une culture de collaboration et de transparence au sein des équipes de développement logiciel. Grâce à une visibilité en temps réel du statut des compilations, des tests et des déploiements, il est plus facile d'identifier et de résoudre les goulots d'étranglement dans le processus de livraison. L'automatisation offerte par l'approche CI/CD réduit également la charge cognitive des équipes de développement qui peuvent ainsi se concentrer sur l'écriture de code plutôt que sur la gestion de processus de déploiement manuels. La satisfaction et la productivité des équipes s’améliorent, tandis que les risques généralement associés aux étapes critiques du processus de publication de logiciel diminuent. Les équipes peuvent expérimenter de nouvelles idées sans craindre de compromettre le projet, sachant que des mécanismes de contrôle robustes, comme les revues de code rapides, sont intégrés au processus. Elles peuvent rapidement annuler les modifications si nécessaire. L'approche CI/CD encourage donc une culture d'innovation et d'amélioration continue.</p>
<h3>Quelles sont les principales différences entre l'approche CI/CD et le développement traditionnel ?</h3>
<p>L'approche CI/CD diffère du développement logiciel traditionnel à bien des égards, notamment en ce qui concerne les points suivants :</p>
<p><strong>Validations fréquentes du code</strong></p>
<p>Dans le développement traditionnel, les équipes de développement travaillent souvent de manière isolée et intègrent rarement leurs modifications dans le code source. Cette situation entraîne des conflits de merge et d'autres problèmes chronophages. Avec l'approche CI/CD, les équipes effectuent régulièrement des push de validation, parfois plusieurs fois par jour. De cette manière, les conflits de merge sont détectés rapidement et le code source est maintenu à jour.</p>
<p><strong>Réduction des risques</strong></p>
<p>Les méthodes de développement logiciel traditionnelles reposent sur des cycles de test à rallonge et une planification rigoureuse avant la sortie de chaque nouvelle version. Bien que ce type de développement ait pour objectif de réduire au maximum les risques, il entrave souvent la capacité à identifier et à résoudre les problèmes. À l’inverse, l'approche CI/CD permet de gérer les risques en appliquant de petites modifications incrémentielles. Ces changements, surveillés de près, peuvent être facilement annulés en cas de problème.</p>
<p><strong>Tests automatisés et continus</strong></p>
<p>Dans le cadre du développement logiciel traditionnel, les tests sont généralement exécutés à la fin du processus de développement, ce qui peut entraîner des retards de livraison et des corrections de bogues coûteuses. L'approche CI/CD, en revanche, intègre des tests automatisés qui sont exécutés en continu tout au long du processus de développement logiciel et déclenchés à chaque validation de code. Cette approche permet aux équipes de développement de recevoir des retours immédiats et d’implémenter rapidement les correctifs nécessaires.</p>
<p><strong>Déploiements automatisés, reproductibles et fréquents</strong></p>
<p>L’automatisation des déploiements dans l’approche CI/CD réduit le stress et les efforts habituellement associés aux déploiements massifs de logiciels. Ce processus automatisé est reproductible dans tous les environnements et garantit ainsi un gain de temps, une réduction des risques d’erreurs ainsi qu'une cohérence accrue dans chaque déploiement.</p>
<h2>Quels sont les principes fondamentaux de l'approche CI/CD ?</h2>
<p>L'approche CI/CD constitue un framework essentiel pour la mise en place de processus de livraison de logiciels évolutifs et régulièrement mis à jour. Pour les équipes DevSecOps, une maîtrise parfaite de ses concepts fondamentaux est indispensable. Une solide compréhension des principes CI/CD permet aux équipes d'adapter leurs stratégies et leurs pratiques aux évolutions technologiques, en s’affranchissant des limitations des méthodes traditionnelles.</p>
<h3>Qu'est-ce qu'un pipeline CI/CD ?</h3>
<p>Un <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/">pipeline CI/CD</a> est une série d'étapes (compilation, test et déploiement) qui automatise et rationalise le processus de livraison de logiciels. <a href="https://about.gitlab.com/blog/guide-to-ci-cd-pipelines/">Chaque étape agit comme un mur qualité</a> et permet de s'assurer que seul le code validé passe à l'étape suivante. Les premières étapes gèrent les vérifications de base, telles que la compilation et les tests unitaires. Les étapes ultérieures, quant à elles, peuvent inclure des tests d'intégration, de performance et de conformité, ainsi que des déploiements échelonnés dans divers environnements.</p>
<p>Le pipeline peut être configuré de manière à nécessiter des approbations manuelles aux points critiques, par exemple avant le déploiement en production, tout en automatisant les tâches routinières. Les équipes de développement obtiennent ainsi un retour rapide sur l'état de leurs modifications. Cette approche structurée assure la cohérence, réduit les erreurs humaines et fournit une piste d'audit claire du transfert des modifications de code de l'environnement de développement vers l'environnement de production. Les pipelines modernes sont souvent implémentés sous forme de code et peuvent ainsi être contrôlés, testés et tenus à jour, de la même manière que le code applicatif.</p>
<p>Voici d'autres termes associés à l'approche CI/CD qu'il est important de connaître :</p>
<ul>
<li><strong>Validation :</strong> une modification apportée au code</li>
<li><strong>Job :</strong> une série d'instructions qu'un runner doit exécuter</li>
<li><strong>Runner :</strong> un agent ou serveur qui exécute chaque job individuellement et qui peut se mettre à l'échelle selon les besoins</li>
<li><strong>Étapes :</strong> un mot-clé qui définit certaines phases spécifiques d'un job, comme la phase de « compilation » et de « déploiement ». Les jobs d'une même étape s’exécutent en parallèle. Les pipelines sont configurés à l'aide d'un fichier YAML nommé <code>.gitlab-ci.yml</code>, soumis au contrôle de version et situé à la racine du projet.</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673928/Blog/Content%20Images/1690824533476.png" alt="Diagramme représentant un pipeline CI/CD"></p>
<h2>Bonnes pratiques pour réussir votre approche CI/CD</h2>
<p>Votre maîtrise de l'approche CI/CD dépend grandement des <a href="https://about.gitlab.com/fr-fr/blog/how-to-keep-up-with-ci-cd-best-practices/">bonnes pratiques</a> que vous mettez en œuvre.</p>
<h4>Les bonnes pratiques en matière d'intégration continue</h4>
<ul>
<li>Validez tôt et souvent.</li>
<li>Optimisez les étapes du pipeline.</li>
<li>Simplifiez et accélérez les compilations.</li>
<li>Utilisez les échecs pour améliorer les processus.</li>
<li>Assurez-vous que l'environnement de test reflète l'environnement de production.</li>
</ul>
<h4>Les bonnes pratiques en matière de livraison continue</h4>
<ul>
<li>Lancez-vous avec les outils et infrastructures disponibles, puis itérez pour améliorer vos processus.</li>
<li>Utilisez le moins d'outils possibles pour optimiser la livraison continue.</li>
<li>Surveillez l’avancée des projets en continu afin d’éviter l’accumulation de tickets ou de merge requests.</li>
<li>Simplifiez les tests d'acceptation par l'utilisateur et le déploiement vers l'environnement de préproduction grâce à l'automatisation.</li>
<li>Automatisez la gestion du pipeline de sortie des nouvelles versions.</li>
<li>Mettez en œuvre la surveillance du pipeline pour gagner en visibilité et en productivité.</li>
</ul>
<blockquote>
<h3>Pour en savoir plus sur l'approche CI/CD, consultez notre <a href="https://www.youtube.com/watch?v=sQ7Nw3o0izc">webinaire « Intro to CI/CD »</a>.</h3>
</blockquote>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/sQ7Nw3o0izc?si=3HpNqIClrc2ncr7Y&quot; title=&quot;Intro to CI/CD webinar&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h2>Premiers pas avec l'approche CI/CD</h2>
<p>Pour commencer à utiliser l'approche CI/CD, identifiez un projet simple mais représentatif qui servira de projet pilote. Sélectionnez une application simple avec des exigences de test basiques. Vous pourrez ainsi vous concentrer sur l'apprentissage du fonctionnement des pipelines plutôt que sur des scénarios de déploiement complexes. Assurez-vous que votre code est soumis au <a href="https://about.gitlab.com/fr-fr/topics/version-control/" title="Qu'est-ce que le contrôle de version ?">contrôle de version</a> et qu'il comporte des <a href="https://about.gitlab.com/blog/develop-c-unit-testing-with-catch2-junit-and-gitlab-ci/">tests automatisés basiques</a>. Même quelques tests unitaires suffisent pour débuter. L'objectif est de <a href="https://about.gitlab.com/blog/how-to-learn-ci-cd-fast/">créer un pipeline basique</a> que vous pourrez améliorer progressivement à mesure que vos compétences progressent.</p>
<p>Dans le cas de GitLab, le processus commence par la création d'un fichier <code>.gitlab-ci.yml</code> dans le répertoire racine de votre projet. Ce fichier YAML définit les étapes de base (comme la compilation, les tests et le déploiement) et les jobs de votre pipeline. Voici un exemple de pipeline simple : l'étape de « Compilation » compile votre code et crée des artefacts, l'étape de « Test » exécute les tests unitaires et l'étape de « Déploiement » effectue le push de votre application vers un environnement de préproduction. GitLab détecte automatiquement ce fichier et commence à exécuter votre pipeline chaque fois que des modifications sont transmises via un push vers votre dépôt. La plateforme fournit des <a href="https://docs.gitlab.com/runner/">runners intégrés</a> pour exécuter les jobs de votre pipeline, mais vous pouvez également configurer vos propres runners si vous souhaitez davantage de contrôle.</p>
<p>À mesure que vous maîtrisez les éléments de base, enrichissez votre pipeline progressivement avec des fonctionnalités plus avancées. Par exemple, ajoutez des contrôles de qualité du code, <a href="https://docs.gitlab.com/ee/user/application_security/#security-scanning">le scanning de sécurité</a> ou le déploiement automatisé du nouveau code en production. La plateforme DevSecOps de GitLab inclut des fonctionnalités telles que la <a href="https://about.gitlab.com/blog/meet-regulatory-standards-with-gitlab/">gestion de la conformité</a>, les <a href="https://about.gitlab.com/fr-fr/blog/demystifying-ci-cd-variables/">variables de déploiement</a> et les portes d'approbation manuelle que vous pouvez intégrer à mesure que votre pipeline évolue. Soyez attentif à la durée d'exécution du pipeline et exécutez dans la mesure du possible des jobs en parallèle. Pensez à ajouter des notifications et un traitement approprié des erreurs afin que les membres de l'équipe soient rapidement informés en cas d’échec de pipeline. Commencez à documenter les problèmes que vous rencontrez le plus souvent et les solutions adoptées. Ces données seront très utiles quand votre équipe s'agrandira.</p>
<blockquote>
<h3>Vous souhaitez en savoir plus sur l'approche CI/CD ? Inscrivez-vous à notre <a href="https://university.gitlab.com/courses/continuous-integration-and-delivery-ci-cd-with-gitlab">cours GitLab University gratuit sur l'approche CI/CD</a>.</h3>
</blockquote>
<h2>Sécurité, conformité et approche CI/CD</h2>
<p>L'un des plus grands avantages de l'approche CI/CD est la possibilité d'intégrer des contrôles de sécurité et de conformité réguliers, et ce dès les premières étapes du cycle de développement logiciel. Dans GitLab, les équipes peuvent utiliser la configuration <code>.gitlab-ci.yml</code> pour déclencher automatiquement des scans de sécurité à plusieurs étapes, de la validation initiale du code à son déploiement en production. Les fonctionnalités d'analyse des conteneurs, d'analyse des dépendances et de scanning de sécurité (<a href="https://docs.gitlab.com/ee/user/application_security/dast/">Test dynamique de sécurité des applications</a> et <a href="https://about.gitlab.com/blog/gitlab-advanced-sast-is-now-generally-available/">Analyseur Advanced SAST de GitLab</a>) de la plateforme peuvent être configurées pour s'exécuter automatiquement à chaque modification de code afin de rechercher les vulnérabilités, les violations des exigences de conformité et les erreurs de configuration de sécurité. L'API de la plateforme permet l'intégration avec des <a href="https://about.gitlab.com/blog/integrate-external-security-scanners-into-your-devsecops-workflow/">outils de sécurité externes</a>, tandis que les fonctionnalités de couverture des tests garantissent que les tests de sécurité répondent aux seuils requis.</p>
<p>Les rapports de test de sécurité de GitLab fournissent des informations détaillées sur les découvertes de vulnérabilités afin de remédier rapidement aux problèmes de sécurité avant qu'ils n'atteignent l'environnement de production. Le tableau de bord relatif à la sécurité fournit une vue centralisée des vulnérabilités détectées dans les différents projets, tandis que des <a href="https://about.gitlab.com/blog/how-gitlab-supports-the-nsa-and-cisa-cicd-security-guidance/">stratégies de sécurité peuvent être appliquées</a> via les approbations de merge request et les portes dans les pipelines. GitLab offre plusieurs niveaux de gestion des secrets pour protéger les données sensibles tout au long du processus CI/CD, y compris des journaux d'audit permettant de suivre l'accès à ces secrets. De plus, un contrôle d'accès basé sur les rôles (RBAC) garantit que seuls les utilisateurs autorisés peuvent consulter ou modifier les données de configuration sensibles.</p>
<p>GitLab prend également en charge la génération de <a href="https://about.gitlab.com/fr-fr/blog/the-ultimate-guide-to-sboms/">nomenclatures logicielles (SBOM)</a>, qui fournissent un inventaire complet de l'ensemble des composants logiciels, dépendances et licences dans une application. Elles permettent aux équipes d'identifier et de corriger rapidement les vulnérabilités, ainsi que de se conformer aux exigences réglementaires.</p>
<h2>Approche CI/CD et cloud</h2>
<p>La plateforme CI/CD de GitLab offre une intégration robuste avec les principaux fournisseurs de services cloud, notamment <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/aws/">Amazon Web Services</a>, <a href="https://about.gitlab.com/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci/">Google Cloud Platform</a> et <a href="https://docs.gitlab.com/ee/install/azure/">Microsoft Azure</a>. Les équipes de développement logiciel peuvent ainsi automatiser leurs déploiements cloud directement à partir de leurs pipelines. Grâce aux intégrations cloud de GitLab, elles peuvent également gérer les ressources cloud, déployer des applications et surveiller les services cloud directement depuis l'interface de GitLab. Les templates de déploiement cloud intégrés et les fonctionnalités <a href="https://docs.gitlab.com/ee/topics/autodevops/">Auto DevOps</a> de la plateforme réduisent considérablement la complexité des déploiements cloud. Les membres de l'équipe peuvent ainsi se concentrer sur le développement d'applications plutôt que sur la gestion de l'infrastructure. Pour les entreprises qui souhaitent automatiser leur infrastructure informatique à l'aide de <a href="https://about.gitlab.com/fr-fr/topics/gitops/" title="Qu'est-ce que GitOps ?">GitOps</a>, GitLab propose l'<a href="https://about.gitlab.com/blog/why-did-we-choose-to-integrate-fluxcd-with-gitlab/">intégration Flux CD</a>.</p>
<p>Les fonctionnalités cloud de GitLab vont au-delà de la simple automatisation des déploiements. L'<a href="https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/" title="Qu'est-ce que Kubernetes ?">intégration Kubernetes</a> à la plateforme GitLab permet aux équipes de gérer l'orchestration des conteneurs entre plusieurs fournisseurs de services cloud. De plus, les <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cloud-native-continuous-integration/">options d'installation cloud-native de GitLab</a> permettent à la plateforme elle-même de fonctionner dans des environnements cloud. Grâce à ces fonctionnalités cloud-native, les équipes peuvent mettre en œuvre des runners à mise à l'échelle automatique qui provisionnent dynamiquement les ressources cloud pour l'exécution de pipelines afin d'optimiser les coûts et les performances. Enfin, l'intégration de la plateforme avec les services de sécurité des fournisseurs de services cloud garantit le respect des exigences de sécurité et de conformité tout au long du processus de déploiement.</p>
<p>Pour les environnements multicloud, GitLab fournit des workflows et des outils cohérents, quel que soit le fournisseur de services cloud sous-jacent. Les équipes de développement peuvent utiliser les fonctionnalités de gestion de l'environnement de GitLab pour gérer différentes configurations cloud dans les environnements de développement, de préproduction et de production. La prise en charge de l'<a href="https://docs.gitlab.com/ee/user/infrastructure/iac/">Infrastructure as Code (IaC)</a> de la plateforme GitLab, en particulier son intégration native avec Terraform, permet aux équipes de développement de contrôler les versions et d'automatiser le provisionnement de leur infrastructure cloud. Les fonctionnalités de surveillance et d'<a href="https://about.gitlab.com/fr-fr/blog/observability-vs-monitoring-in-devops/" title="Qu'est-ce que l'observabilité ?">observabilité</a> de GitLab s'intègrent aux indicateurs des fournisseurs de services cloud, offrant une visibilité complète de l'intégrité des applications et de l'infrastructure dans les différents environnements cloud.</p>
<h2>Pipeline CI/CD avancé</h2>
<p>L'approche CI/CD a connu une évolution significative qui va bien au-delà de la simple construction et du déploiement de pipelines. Dans les mises en œuvre avancées, elle implique une orchestration sophistiquée des tests automatisés, du scanning de sécurité, du provisionnement de l'infrastructure, de l'IA et de bien d'autres aspects. Voici quelques stratégies CI/CD avancées pour aider les équipes d'ingénierie à améliorer leurs pipelines et à résoudre les problèmes qui surviennent, même lorsque la complexité de l'architecture augmente.</p>
<h3>Réutilisation et automatisation des pipelines CI/CD</h3>
<p>GitLab révolutionne les pratiques des équipes de développement logiciel et de gestion des pipelines CI/CD en introduisant deux innovations majeures : le <a href="https://about.gitlab.com/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch/">catalogue CI/CD</a> et <a href="https://about.gitlab.com/blog/introducing-ci-cd-steps-a-programming-language-for-devsecops-automation/">CI/CD Steps</a>. Ce dernier est un nouveau langage de programmation expérimental dédié à l'automatisation DevSecOps. Le catalogue CI/CD est une plateforme centralisée où les équipes peuvent découvrir, réutiliser et optimiser les différents composants CI/CD. Ces derniers fonctionnent comme des blocs de construction réutilisables et à usage unique qui simplifient la configuration des pipelines au sein des workflows CI/CD. Parallèlement, CI/CD Steps offre la possibilité de gérer des workflows complexes en permettant aux équipes de configurer les entrées et sorties pour chaque job CI/CD. Avec le catalogue CI/CD et CI/CD Steps, les équipes DevSecOps peuvent facilement standardiser l'approche CI/CD et ses composants, et ainsi simplifier le processus de développement et de maintenance des pipelines CI/CD.</p>
<blockquote>
<p>Pour en savoir plus, consultez notre <a href="https://about.gitlab.com/blog/faq-gitlab-ci-cd-catalog/">FAQ sur le catalogue CI/CD</a> et notre <a href="https://docs.gitlab.com/ee/ci/steps/">documentation sur CI/CD Steps</a>.</p>
</blockquote>
<h3>Dépannage des pipelines avec l'IA</h3>
<p>Bien qu'une défaillance des pipelines CI/CD soit possible, le dépannage rapide du problème peut considérablement réduire son impact. L'analyse des causes profondes de <a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="Qu'est-ce que GitLab Duo ?">GitLab Duo</a>, l'une des fonctionnalités alimentées par l'IA, élimine les hypothèses en <a href="https://about.gitlab.com/fr-fr/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai/" title="Échecs de pipelines CI/CD">déterminant la cause profonde de l'échec d'un pipeline CI/CD</a>. Lorsqu'un pipeline échoue, GitLab fournit des job logs détaillés, des messages d'erreur et des traces d'exécution qui indiquent exactement où et pourquoi l'échec s'est produit. L'analyse des causes profondes utilise ensuite l'IA pour suggérer une solution.</p>
<p>Découvrez la fonctionnalité d'analyse des causes profondes de GitLab Duo en action :</p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/sTpSLwX5DIs?si=J6-0Bf6PtYjrHX1K&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h2>Comment migrer son code vers un pipeline GitLab CI/CD ?</h2>
<p>La migration vers la plateforme DevSecOps de GitLab et son pipeline CI/CD intégré implique l'analyse systématique de vos configurations de pipeline, dépendances et processus de déploiement existants pour les mapper aux fonctionnalités et à la syntaxe équivalentes de GitLab.</p>
<p>Consultez nos ressources pour faciliter votre migration vers GitLab CI/CD :</p>
<ul>
<li><a href="https://about.gitlab.com/blog/migrating-from-bamboo-to-gitlab-cicd/">Migration de Bamboo vers GitLab CI/CD</a></li>
<li><a href="https://about.gitlab.com/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment/">De Jenkins à GitLab : le guide complet pour moderniser votre environnement CI/CD</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/migration-guide-github-advanced-security-to-gitlab-ultimate/">Migrer de GitHub Advanced Security vers GitLab Ultimate : notre guide complet</a></li>
</ul>
<h2>Témoignages d'entreprises leaders dans leur domaine</h2>
<p>Ces entreprises de premier plan ont migré vers GitLab et profitent des innombrables avantages de l'approche CI/CD. Découvrez leurs témoignages.</p>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/customers/lockheed-martin/">Lockheed Martin</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/how-indeed-transformed-its-ci-platform-with-gitlab/">Indeed</a></li>
<li><a href="https://about.gitlab.com/fr-fr/customers/carfax/">CARFAX</a></li>
<li><a href="https://about.gitlab.com/fr-fr/customers/hackerone/">HackerOne</a></li>
<li><a href="https://about.gitlab.com/blog/betstudios-cto-on-improving-ci-cd-capabilities-with-gitlab-premium/">Betstudios</a></li>
<li><a href="https://about.gitlab.com/blog/how-carrefour-and-thales-are-evolving-their-ci-cd-platforms/">Thales et Carrefour</a></li>
</ul>
<h2>Tutoriels CI/CD</h2>
<p>Devenez un expert des pipelines CI/CD à l'aide de ces tutoriels :</p>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/basics-of-gitlab-ci-updated/">Intégration continue : créez votre premier pipeline CI avec GitLab</a></li>
<li><a href="https://about.gitlab.com/blog/tutorial-how-to-set-up-your-first-gitlab-ci-cd-component/">Configuration de votre premier composant GitLab CI/CD</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/building-a-gitlab-ci-cd-pipeline-for-a-monorepo-the-easy-way/">GitLab CI/CD : comment créer facilement un pipeline pour un monorepo</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/using-child-pipelines-to-continuously-deploy-to-five-environments/">Déployer en continu dans de multiples environnements avec les pipelines enfants</a></li>
<li><a href="https://about.gitlab.com/blog/refactoring-a-ci-cd-template-to-a-ci-cd-component/">Refactorisation d'un template CI/CD en composant CI/CD</a></li>
</ul>
<blockquote>
<h3>Commencez un <a href="https://gitlab.com/-/trials/new">essai de GitLab Ultimate</a> et essayez gratuitement GitLab CI/CD pendant 60 jours.</h3>
</blockquote>
]]></content>
        <author>
            <name>Sandra Gittlen</name>
            <uri>https://about.gitlab.com/blog/authors/sandra-gittlen</uri>
        </author>
        <published>2025-06-25T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Ultimate pour IBM Z : le DevSecOps moderne sur mainframe]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes/"/>
        <updated>2025-06-20T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLab et IBM unissent leurs forces pour moderniser le développement logiciel sur mainframe. Ce partenariat permet aux équipes de développement mainframe de bénéficier des mêmes outils modernes, workflows et fonctionnalités collaboratives que ceux utilisés dans les environnements distribués. Baptisée GitLab Ultimate pour IBM Z, cette solution d'automatisation DevSecOps intégrée et certifiée par GitLab, adaptée à l'environnement mainframe, relève ce défi. Elle permet aux entreprises de moderniser leurs workflows de développement mainframe grâce à une migration sans accroc depuis les gestionnaires de bibliothèques hérités obsolètes. Avec des pipelines CI/CD exécutés de façon native sur IBM z/OS, ces entreprises sont en mesure d'innover plus rapidement et de réduire les coûts opérationnels.</p>
<h2>Les défis actuels du développement sur mainframe</h2>
<p>Les entreprises qui utilisent les systèmes IBM Z pour leurs charges de travail critiques sont confrontées à des défis que les outils DevSecOps classiques ne sont pas en mesure de relever. Tandis que les équipes <a href="https://about.gitlab.com/fr-fr/topics/cloud-native/" title="Qu'est-ce que cloud-native ?">cloud-native</a> bénéficient de pipelines <a href="https://about.gitlab.com/topics/ci-cd/">CI/CD</a> modernes, d'un développement collaboratif fluide et de tests automatisés, les équipes mainframe restent souvent confinées à des outils obsolètes, source d'inefficacités coûteuses et de silos opérationnels.</p>
<p>Elles ont souvent recours à des solutions de contournement, telles que les connexions SSH et les transferts manuels de fichiers, qui fragilisent la sécurité et complexifient les audits. Or, dans un contexte de conformité de plus en plus exigeant, ces pratiques improvisées s’exposent à des risques inacceptables. Par ailleurs, les entreprises maintiennent des chaînes d'outils parallèles coûteuses, reposant sur des outils de développement mainframe hérités aux coûts de licence élevés et aux fonctionnalités limitées par rapport aux alternatives modernes.</p>
<p>Cette fragmentation crée deux problèmes : des cycles de livraison de logiciels plus lents et une difficulté à attirer des développeurs, qui recherchent des environnements de travail modernes.</p>
<blockquote>
<p><strong>« GitLab Ultimate pour IBM Z représente une avancée décisive pour résoudre une problématique à laquelle le secteur doit faire face depuis longtemps. D'après les recherches menées par IDC, les équipes de développement mainframe s'appuient encore largement sur des outils hérités qui contribuent à freiner les livraisons et compliquent l'acquisition de nouveaux talents. Avec cette offre conjointe, les fonctionnalités DevSecOps modernes et les workflows unifiés sont intégrés directement au mainframe. Résultat : une collaboration plus fluide et plus efficace pour les équipes de développement, et une accélération de l'innovation pour les entreprises, qui peuvent ainsi totalement intégrer le développement mainframe à leurs stratégies globales de transformation digitale. »</strong> - Katie Norton, Research Manager, DevSecOps and Software Supply Chain Security chez IDC</p>
</blockquote>
<h2>Vers des environnements de développement unifiés</h2>
<p>Une véritable modernisation du développement mainframe nécessite de concevoir une plateforme unifiée où les équipes mainframe, cloud-native, web et mobile collaborent en harmonie.</p>
<p>GitLab Ultimate pour IBM Z permet aux équipes de développement d'utiliser des workflows cohérents, qu'ils déploient sur z/OS, dans le cloud ou sur une infrastructure locale. Les connaissances sont ainsi transférées entre les équipes au lieu de rester cloisonnées. Les entreprises peuvent ainsi moderniser leurs pratiques progressivement, à leur propre rythme, sans interrompre leurs activités, car les systèmes hérités continuent de fonctionner.</p>
<p>À l'heure où les architectures hybrides mêlant mainframe et développement cloud-native deviennent la norme, GitLab fournit une base robuste pour développer des applications entre ces différents environnements.</p>
<h2>Qu'est-ce que GitLab Ultimate pour IBM Z ?</h2>
<p>GitLab Ultimate pour IBM Z offre une prise en charge native des runners sur z/OS et permet ainsi une exécution fluide et sécurisée de vos <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD?">pipelines CI/CD</a> directement sur votre infrastructure mainframe. Cette solution certifiée par GitLab supprime le besoin de solutions de contournement complexes tout en maintenant la sécurité et la fiabilité que vos applications exigent.</p>
<p>En combinant la plateforme DevSecOps complète de GitLab avec l'expertise approfondie d'IBM en matière de mainframe, cette offre unique et certifiée connecte les systèmes hérités aux pratiques d'innovation cloud-native.</p>
<h2>Quelles fonctionnalités offre GitLab Ultimate pour IBM Z ?</h2>
<p>GitLab Ultimate pour IBM Z fournit aux équipes de développement les outils dont elles ont besoin pour moderniser le développement mainframe tout en préservant la continuité des systèmes métier critiques.</p>
<p>Voici les principales fonctionnalités de cette solution intégrée :</p>
<p><strong>La prise en charge native des runners sur z/OS</strong> : les pipelines CI/CD s'exécutent directement sur votre mainframe. Cette approche réduit les risques de sécurité et les goulots d'étranglement d'évolutivité associés aux connexions distantes, tout en accélérant les déploiements et les livraisons.</p>
<p><strong>La gestion unifiée du code source</strong> : votre chaîne d'outils est modernisée en remplaçant les outils de gestion de bibliothèques hérités coûteux par le système de dépôt consultable et le <a href="https://about.gitlab.com/fr-fr/topics/version-control/" title="Qu'est-ce que le contrôle de version ?">contrôle de version</a> de GitLab. Ainsi, vos coûts de licence et frais de maintenance sont réduits.</p>
<p><strong>L'intégration fluide</strong> avec IBM Developer for z/OS Enterprise Edition (IDzEE) : les cycles de livraison sont accélérés grâce à des compilations basées sur les dépendances, à une analyse automatique du code et à des outils de débogage complets, directement accessibles dans les environnements de développement habituels. Le tout améliore à la fois la qualité du code et la sécurité des applications, sans perturber les habitudes des équipes.</p>
<p><strong>La visibilité complète</strong> sur les environnements mainframe et distribués : une gestion complète des projets, de la planification à la production, permet d'automatiser les workflows DevOps et améliore l'expérience développeur grâce à des outils de développement modernes de nouvelle génération.</p>
<h2>Modernisez votre environnement de développement mainframe dès aujourd'hui</h2>
<p>GitLab Ultimate pour IBM Z est désormais disponible pour les entreprises prêtes à transformer leur expérience de développement mainframe. Pour en savoir plus, consultez la <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/ibm/">page dédiée au partenariat entre GitLab et IBM</a>.</p>
]]></content>
        <author>
            <name>Mike Flouton</name>
            <uri>https://about.gitlab.com/blog/authors/mike-flouton</uri>
        </author>
        <author>
            <name>Andy Bradfield</name>
            <uri>https://about.gitlab.com/blog/authors/andy-bradfield</uri>
        </author>
        <published>2025-06-20T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Pourquoi choisir une plateforme DevSecOps unifiée ?]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/why-are-organizations-moving-to-a-unified-devsecops-platform/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/why-are-organizations-moving-to-a-unified-devsecops-platform/"/>
        <updated>2025-06-19T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Face aux défis croissants du développement logiciel moderne, de nombreuses entreprises migrent vers le cloud et adoptent des processus DevSecOps. Elles sont cependant confrontées à un défi de taille : les nombreux outils et systèmes hérités ne sont pas adaptés à cette évolution et les obligent souvent à créer des intégrations complexes entre une multitude d'outils pour la gestion des tâches, les pipelines CI/CD, la sécurité, la surveillance, entre autres. Cette mosaïque d’outils entraîne une complexité opérationnelle, des coûts de maintenance élevés et freine la collaboration entre les équipes de développement et celles des opérations. Les développeurs, quant à eux, éprouvent de la frustration, car ils passent constamment d'un outil à l'autre pour un même workflow de développement, de la planification à la production.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097077/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097077287.jpg" alt="Complexité et coûts opérationnels inhérents à l'intégration de plusieurs outils dans un processus DevSecOps"></p>
<p>&lt;center&gt;&lt;i&gt;Degré de complexité de l'intégration de plusieurs outils dans un processus DevSecOps&lt;/i&gt;&lt;/center&gt;</p>
<p>&lt;br&gt;&lt;/br&gt;</p>
<p>Bonne nouvelle, une solution existe : une plateforme DevSecOps complète offrant une approche unifiée du développement logiciel.</p>
<p>Cette plateforme est conçue pour les entreprises opérant dans des environnements cloud et <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps?">DevSecOps</a> : tous les aspects du développement logiciel (gestion du code, processus CI/CD, gestion des tâches, sécurité, automatisation pilotée par l'IA) s'effectuent depuis une seule interface. Ainsi, tous les workflows sont centralisés, offrant aux équipes de développement et des opérations une collaboration optimisée, une communication rationalisée et une réduction significative des complexités et des perturbations opérationnelles.</p>
<p>En outre, l'expérience développeur s'améliore considérablement : les équipes d’ingénierie sont beaucoup plus heureuses de travailler avec un produit conçu spécifiquement pour les besoins du développement moderne.</p>
<p>Découvrez comment GitLab simplifie la gestion de projet, renforce la <a href="https://about.gitlab.com/fr-fr/solutions/security-compliance/" title="Sécurité et conformité">sécurité et la conformité</a>, et intègre l’IA pour transformer le développement logiciel et aider les équipes à surmonter les défis courants.</p>
<h2>Gestion de projet Agile intégrée</h2>
<p>GitLab fournit une solution holistique qui rassemble toutes les fonctionnalités nécessaires pour la gestion des projets et des tâches. Cette intégration couvre toutes les étapes du développement logiciel, y compris les <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a>. Les équipes peuvent ainsi suivre en temps réel la progression du projet. Les tickets et les epics sont directement liés aux processus d'automatisation. De la planification au déploiement en production, toutes les étapes s'effectuent sans accroc. La transparence entre les équipes est ainsi renforcée, les retards sont réduits et toutes les parties prenantes ont une vision claire de l'état du développement en temps réel.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097077/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097077288.jpg" alt="Les tickets et les epics sont directement liés aux processus d'automatisation. De la planification au déploiement en production, toutes les étapes s'effectuent sans accroc."></p>
<h2>Sécurité intégrée</h2>
<p>La sécurité est au cœur de GitLab avec l'intégration de fonctionnalités de sécurité complètes. La plateforme intègre un large éventail de <a href="https://about.gitlab.com/fr-fr/blog/2024/02/27/how-to-integrate-custom-security-scanners-into-gitlab/" title="Qu'est-ce qu'un scanner de securité ?">scanners de sécurité</a> automatisés, notamment :</p>
<ul>
<li><a href="https://docs.gitlab.com/user/application_security/dependency_scanning/">L'analyse des dépendances</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/sast/">Les tests statiques de sécurité des applications (SAST)</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/dast/">Les tests dynamiques de sécurité des applications (DAST)</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/secret_detection/">La détection des secrets</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/container_scanning/">L'analyse des conteneurs</a></li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097077/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097077289.jpg" alt="Fonctionnalités de scanning de sécurité intégrées dans le processus CI/CD à différentes étapes du développement"></p>
<p>&lt;center&gt;&lt;i&gt;Fonctionnalités de scanning de sécurité intégrées dans le processus CI/CD à différentes étapes du développement&lt;/i&gt;&lt;/center&gt;</p>
<p>&lt;br&gt;&lt;/br&gt;</p>
<p>Ces contrôles de sécurité sont intégrés à chaque étape du cycle de développement logiciel, y compris dans les pipelines CI/CD, et offrent aux équipes de développement des retours immédiats sur les failles de sécurité potentielles, et ce dès le début du cycle de développement.</p>
<h2>Conformité et exigences réglementaires</h2>
<p>Au-delà de la productivité et de l'expérience utilisateur, de nombreuses entreprises, en particulier celles opérant dans les secteurs réglementés tels que les institutions financières ou les grands groupes, doivent s'assurer que leurs processus respectent des normes de sécurité et de conformité strictes. Elles doivent pouvoir appliquer des stratégies pour différents projets, par exemple en rendant obligatoire l'utilisation d'un scanner de sécurité chaque fois qu'un pipeline CI/CD s'exécute sur des branches de code spécifiques (par exemple, les branches principales ou protégées) ou en exigeant des approbations spécifiques avant de fusionner le code dans la branche principale.</p>
<p>Tout devient plus facile avec les <a href="https://about.gitlab.com/blog/2025/04/17/introducing-custom-compliance-frameworks-in-gitlab/">frameworks de conformité</a> de GitLab : cette fonctionnalité permet aux entreprises de définir et d'appliquer des stratégies structurées aux projets sélectionnés. Cette approche garantit la conformité en appliquant sans intervention manuelle des exigences réglementaires et de sécurité, tout en maintenant un workflow de développement fluide et efficace.</p>
<h2>Développement alimenté par l'IA</h2>
<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/">GitLab Duo</a> offre une assistance pilotée par l'IA à chaque étape du développement logiciel. Par conséquent, aucun outil externe n'est nécessaire. Chaque requête alimentée par l'IA est traitée dans le contexte complet du projet et du code base, ce qui permet de travailler de façon plus intelligente et plus efficace.</p>
<p>L'IA peut effectuer de nombreuses tâches, notamment :</p>
<ul>
<li>Générer automatiquement des descriptions de tâches</li>
<li>Synthétiser les discussions des tickets pour gagner un temps précieux</li>
<li>Enrichir la revue de code</li>
<li>Suggérer des améliorations pour optimiser le code</li>
<li>Automatiser la génération de tests</li>
<li>Détecter et corriger les failles de sécurité</li>
<li>Réaliser une analyse des causes profondes en cas d'échec des pipelines CI</li>
<li>Garantir le respect de la confidentialité et la sécurité des données</li>
</ul>
<p>Grâce à sa compréhension des besoins des entreprises opérant dans les secteurs fortement réglementés, en particulier dans le <a href="https://about.gitlab.com/fr-fr/solutions/public-sector/">secteur public</a> et le <a href="https://about.gitlab.com/fr-fr/solutions/finance/">secteur financier</a>, GitLab offre une plateforme unique qui permet d'exécuter des modèles d'IA dans un environnement sécurisé.</p>
<p><a href="https://about.gitlab.com/fr-fr/blog/2025/02/27/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy/" title="GitLab Duo Self-Hosted">GitLab Duo Self-Hosted</a> permet de garder un contrôle total sur la confidentialité des données, la sécurité et le déploiement de <a href="https://about.gitlab.com/blog/2025/05/29/what-is-a-large-language-model-llm/" title="Qu'est-ce qu'un grand modèle de language ?">grands modèles de langage (LLM)</a> dans leur propre infrastructure et garantit ainsi :</p>
<ul>
<li>La protection de la confidentialité des données</li>
<li>La conformité aux exigences réglementaires</li>
<li>Une sécurité maximale</li>
<li>Tous les avantages de l’IA, sans dépendre d’un réseau externe ni exposer vos systèmes à des risques</li>
</ul>
<h2>GitLab, une plateforme moderne et complète</h2>
<p>Les entreprises ont besoin d'une plateforme DevSecOps complète pour rationaliser leurs processus, renforcer la sécurité et accélérer l'innovation. C'est précisément ce qu'offre GitLab : une application unique, qui regroupe tous les outils essentiels aux équipes de développement, de sécurité et des opérations, avec une sécurité intégrée et une automatisation alimentée par l'IA.</p>
<p>Pour en savoir plus sur GitLab, découvrez nos démonstrations interactives :</p>
<ul>
<li><a href="https://gitlab.navattic.com/gitlab-premium-with-duo">GitLab Premium et Ultimate avec GitLab Duo</a> : l'assistance au développement alimentée par l'IA</li>
<li><a href="https://gitlab.navattic.com/gitlab-scans">La sécurité dans les pipelines CI/CD</a> : l'analyse de sécurité intégrée qui protège vos logiciels</li>
<li><a href="https://gitlab.navattic.com/compliance">Frameworks de conformité</a> : des stratégies appliquées à l'ensemble des projets pour une meilleure gouvernance</li>
</ul>
<blockquote>
<p>Participez à notre événement virtuel à l'occasion du lancement de GitLab 18 et découvrez ce que vous réserve notre plateforme DevSecOps, notamment le rôle de l'<a href="https://about.gitlab.com/fr-fr/topics/agentic-ai/" title="Qu'est-ce que l'IA agentique?">IA agentique</a>. <a href="https://about.gitlab.com/fr-fr/eighteen/">Inscrivez-vous dès aujourd'hui !</a></p>
</blockquote>
]]></content>
        <author>
            <name>Itzik Gan Baruch</name>
            <uri>https://about.gitlab.com/blog/authors/itzik-gan baruch</uri>
        </author>
        <published>2025-06-19T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab nommée Leader dans le rapport The Forrester Wave™: DevOps Platforms (T2 2025)]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025/"/>
        <updated>2025-06-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Le choix d'une plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que l'approche DevSecOps ? ">DevSecOps</a> est l'une des décisions technologiques les plus stratégiques pour une entreprise. C'est pourquoi nous sommes particulièrement fiers d'annoncer que GitLab a été nommée <a href="https://about.gitlab.com/forrester-wave-devops-platform/"><strong>Leader dans le rapport The Forrester Wave™: DevOps Platforms, T2 2025</strong></a>. Notre plateforme a obtenu les meilleurs scores pour les critères qui comptent le plus aux yeux de nos clients, notamment l'expérience zero-day, les outils de développement, l'automatisation de la compilation, l'intégration continue, l'automatisation du déploiement, ainsi que l'atténuation des risques liés à l'IA, l'injection d'IA, les outils de sécurité directement intégrés et la cohésion au sein de la plateforme.</p>
<p><em><strong>« GitLab est la solution tout-en-un la plus complète. Elle s'adresse aux entreprises qui cherchent à standardiser leurs processus avec un seul achat. » -</strong></em> Rapport The Forrester Wave™ dédié aux plateformes DevOps, T2 2025</p>
<p>Cette reconnaissance vient renforcer notre conviction : les équipes de développement logiciel doivent livrer des logiciels sécurisés, plus rapidement, sans sacrifier ni la rapidité, ni la sécurité, ni la simplicité, alors que d'autres plateformes imposent ce compromis. GitLab unifie les enjeux de rapidité, de fiabilité et de gouvernance. Avec la <a href="https://about.gitlab.com/releases/2025/05/15/gitlab-18-0-released/">version 18.0 de GitLab</a> sortie en mai, nous franchissons une nouvelle étape en intégrant les <a href="https://about.gitlab.com/fr-fr/blog/gitlab-premium-with-duo/">fonctionnalités basées sur l'IA native de GitLab Duo</a>, sans frais supplémentaires. Avec GitLab Duo, nos clients bénéficient de fonctionnalités avancées, telles que la génération de tests, les suggestions de code et la refactorisation du code, directement dans GitLab Premium et GitLab Ultimate.</p>
<blockquote>
<p><a href="https://about.gitlab.com/forrester-wave-devops-platform/">Consultez le rapport Forrester dès aujourd'hui !</a></p>
</blockquote>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673518/Blog/Content%20Images/Image_DevOps-Platforms-Q2-2025.png" alt=" Graphique issu du rapport The Forrester Wave™ dédié aux plateformes DevOps, T2 2025"></p>
<h2>Une IA de pointe, sans compromis sur la sécurité</h2>
<p>Les principes de l'approche DevSecOps évoluent rapidement, et l'IA est au cœur de cette transformation. Malheureusement, de nombreux outils alimentés par l'IA imposent de choisir entre des fonctionnalités de pointe et la sécurité à l'échelle de l'entreprise.</p>
<p>Forrester a attribué à GitLab la note maximale de 5 pour 2 critères clés : l'<strong>injection d'IA</strong> et l'<strong>atténuation des risques liés à l'IA</strong>. Nous sommes fiers que notre engagement à créer des fonctionnalités d'IA innovantes qui renforcent la sécurité soit remarqué non seulement par nos clients, mais également par d'autres parties prenantes.</p>
<p>Ces deux critères se reflètent dans nos offres d'IA GitLab Duo, notamment :</p>
<ul>
<li><strong>Duo Workflow (bêta privée)</strong> : des agents d'IA autonomes capables de gérer des tâches DevSecOps complexes, avec l'implémentation de garde-fous adaptés au secteur d'activité concerné et de pistes d'audit.</li>
<li><strong>Agentic Chat</strong> : une IA contextuelle et conversationnelle adaptée à toutes les étapes du cycle de développement, des explications de code à la création de tests, avec une protection de la propriété intellectuelle et des contrôles de confidentialité intégrés.</li>
<li><strong>Suggestions de code</strong> : génération prédictive de blocs de code, définition d'une logique fonctionnelle, génération de tests et suggestion d'un code commun comme des motifs regex.</li>
<li><strong>Résolution de vulnérabilités intégrant l'IA native</strong> : détection, explication et correction automatiques des vulnérabilités, avec des merge requests générées automatiquement, qui simplifient le processus de développement.</li>
</ul>
<h2>En finir avec la multiplication des outils</h2>
<p>Les équipes DevSecOps ne veulent plus jongler entre plusieurs outils disparates et des intégrations qui les aident seulement pour une partie de leur cycle de développement logiciel. Elles ont besoin d'une expérience de développement fluide, intégrée et cohérente de bout en bout.</p>
<p>Les scores de GitLab dans les critères suivants valident notre stratégie centrée sur le client :</p>
<ul>
<li><strong>Expérience zero-day :</strong> Forrester a cité notre « forte expérience zero-day », en notant que « la plateforme est opérationnelle immédiatement », grâce notamment aux nombreux outils de migration et tutoriels complets mis à disposition.</li>
<li><strong>Outils de développement :</strong> Forrester a cité <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo combiné à Amazon Q</a>, notre offre d'IA agentique destinée aux clients AWS, ainsi que notre environnement de développement cloud, notre plateforme de développement intégrée et nos wikis de documentation.</li>
<li><strong>Planification et alignement des projets :</strong> Forrester a noté la « robustesse de notre centre de conformité » et le fait que nous disposons d'outils pour favoriser une approche à la fois descendante et ascendante.</li>
<li><strong>Sécurité des pipelines :</strong> Forrester nous a attribué la note maximale pour ce critère.</li>
<li><strong>Automatisation des compilations et intégration continue (CI) :</strong> Forrester a cité notre automatisation des compilations et nos fonctionnalités d'intégration continue avec des pipelines de compilation en plusieurs étapes et une solide prise en charge des modèles auto-hébergés.</li>
</ul>
<h2>Téléchargez notre rapport</h2>
<p>Le fait que GitLab soit nommée Leader dans le rapport The Forrester Wave™: DevOps Platforms (T2 2025) témoigne de l'étendue et de la profondeur des fonctionnalités de notre plateforme, qui fournit une source unique de vérité pour l'ensemble du cycle de développement logiciel. Plus besoin de jongler avec plusieurs outils et multiples intégrations : GitLab offre une expérience fluide et intégrée qui augmente la productivité et réduit les points de friction. Cette distinction reflète le travail assidu de nos équipes, les nombreuses contributions de notre communauté <a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/" title="Qu'est-ce que l'open source ? ">open source</a>, les précieux retours de nos clients et notre engagement constant à façonner l'avenir du développement logiciel.</p>
<blockquote>
<h4><a href="https://about.gitlab.com/forrester-wave-devops-platform/">Téléchargez le rapport dès aujourd'hui !</a></h4>
</blockquote>
<p><em>Forrester ne cautionne aucune entreprise, aucun produit, aucune marque ou aucun service inclus dans ses publications de recherche et ne conseille à quiconque de sélectionner les produits ou services d'une entreprise ou d'une marque en fonction des notes attribuées. Les informations se fondent sur les meilleures ressources disponibles. Les opinions reflètent notre jugement du moment et peuvent évoluer. Pour en savoir plus, découvrez les <a href="https://www.forrester.com/about-us/objectivity/">critères d'objectivité de Forrester</a>.</em></p>
]]></content>
        <author>
            <name>Dave Steer</name>
            <uri>https://about.gitlab.com/blog/authors/dave-steer</uri>
        </author>
        <published>2025-06-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo Chat fait peau neuve : place à l'IA agentique ]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover/"/>
        <updated>2025-05-29T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Les assistants de chat basés sur l'IA générative se sont imposés comme des alliés incontournables des équipes de développement logiciel. Capables de suggérer du code, corriger des bogues et automatiser une multitude de tâches, ces assistants intelligents simplifient considérablement leur quotidien.</p>
<p>Mais imaginez un assistant qui ne se limite plus au code : capable de comprendre tous les artefacts de votre processus de développement, de gérer vos tickets, de documenter vos projets, et d’accéder à vos <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline Ci/CD ?">pipelines CI/CD</a> et vos merge requests pour vous aider à mener à bien vos tâches de développement.</p>
<p><strong>Découvrez GitLab Duo Agentic Chat, l'assistant d'IA nouvelle génération, qui succède à GitLab Duo Chat. Dernier-né de la plateforme GitLab, GitLab Duo Agentic Chat marque une avancée majeure dans l'assistance au développement basée sur l'IA native. Disponible dès aujourd'hui en <a href="https://docs.gitlab.com/policy/development_stages_support/#experiment">version expérimentale</a>,</strong> il est accessible à tous les utilisateurs de GitLab.com via l'extension GitLab Workflow pour VS Code.</p>
<p>Contrairement aux assistants de chat traditionnels basés sur une IA conversationnelle, Agentic Chat effectue des actions en votre nom. Il décompose les problèmes complexes en tâches distinctes qu'il peut accomplir. Au lieu de répondre simplement aux questions en se basant sur le contexte que vous fournissez, il offre les capacités suivantes :</p>
<ul>
<li><strong>Il détermine de manière autonome</strong> les informations dont il a besoin pour répondre à vos questions.</li>
<li><strong>Il exécute une séquence d'opérations</strong> afin de collecter ces informations à partir de plusieurs sources.</li>
<li><strong>Il formule des réponses complètes</strong> en combinant les données provenant de l'ensemble de votre projet.</li>
<li><strong>Il crée et modifie des fichiers</strong> pour vous aider à mettre en œuvre des solutions.</li>
</ul>
<p>Mais bien évidemment, en tant que développeur, vous avez toujours votre mot à dire.</p>
<p>Agentic Chat repose sur l'architecture GitLab Duo Workflow, <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/">actuellement disponible en version bêta privée</a> qui intègre des agents et des outils dédiés pour des tâches spécifiques : recherche contextuelle, modification de fichiers, et bien plus encore.</p>
<p><strong>Cas d'utilisation de GitLab Duo Agentic Chat</strong></p>
<p>Avec Agentic Chat, vous pouvez :</p>
<ul>
<li>
<p>Prendre en main les nouveaux projets plus rapidement en demandant à l'IA de vous guider à travers le nouveau code base.</p>
</li>
<li>
<p>Commencer à effectuer immédiatement les tâches qui vous sont attribuées, même lorsque les descriptions des tickets ne sont pas claires : Agentic Chat vous aide à faire le lien entre les exigences et les implémentations.</p>
</li>
<li>
<p>Gérer l’implémentation : lorsqu'il est temps d'apporter des modifications, Agentic Chat peut gérer le travail d'implémentation en créant et en modifiant plusieurs fichiers dans votre projet.</p>
</li>
<li>
<p>Vérifier votre solution : au moment de la mise en production, Agentic Chat peut vous aider à vérifier que votre solution répond réellement aux exigences initiales en analysant vos merge requests et en les comparant au ticket ou à la tâche d'origine.</p>
</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099210/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750099210429.png" alt="Agentic Chat - exemple"></p>
<p>&lt;center&gt;&lt;i&gt;Agentic Chat apporte des modifications au code&lt;/i&gt;&lt;/center&gt;</p>
<h2>De l'apprentissage à la livraison : un workflow en quatre étapes</h2>
<p>Pour mieux saisir l'impact d'Agentic Chat, explorons un scénario réel vécu par notre équipe d’ingénierie. Prenons l'exemple suivant : vous intégrez une nouvelle équipe, un ticket vous est attribué, mais vous ne maîtrisez pas encore le code base.</p>
<p>Pour mieux visualiser ce scénario, n'hésitez pas à regarder la vidéo de démonstration ci-dessous :</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/uG9-QLAJrrg?si=kaOhYylMIaWkIuG8j&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p><strong>Étape 1 : comprendre le projet</strong></p>
<p>Au lieu d'explorer manuellement les fichiers et la documentation, vous pouvez soumettre le prompt suivant à Agentic Chat :</p>
<pre><code class="language-unset">I am new to this project. Could you read the project structure and explain it to me?
</code></pre>
<p>Agentic Chat fournit une vue d'ensemble complète du projet en :</p>
<ul>
<li>explorant la structure des répertoires</li>
<li>lisant les fichiers README et la documentation</li>
<li>identifiant les composants et les applications clés</li>
</ul>
<p><strong>Étape 2 : comprendre la tâche qui vous a été attribuée</strong></p>
<p>Ensuite, vous devez comprendre la tâche à effectuer. Vous pouvez donc saisir le prompt suivant :</p>
<pre><code class="language-unset">I have been assigned Issue 1119. Could you help me understand this task, specifically where do I need to apply the refactoring?
</code></pre>
<p>Agentic Chat explique la tâche et propose une approche de refactorisation :</p>
<ul>
<li>en récupérant et en analysant les détails du ticket à partir du serveur GitLab distant</li>
<li>en examinant les fichiers associés au projet</li>
<li>en identifiant les emplacements spécifiques nécessitant des modifications</li>
</ul>
<p><strong>Étape 3 : mettre en œuvre la solution</strong></p>
<p>Plutôt que d'effectuer le travail manuellement, vous pouvez saisir le prompt suivant :</p>
<pre><code class="language-unset">Could you make the edits for me? Please start with steps one, two, three.
</code></pre>
<p>Agentic Chat :</p>
<ul>
<li>crée des répertoires et fichiers si nécessaire</li>
<li>extrait et refactorise le code à plusieurs emplacements</li>
<li>assure la cohérence de tous les fichiers modifiés</li>
<li>fournit un résumé de toutes les modifications apportées</li>
</ul>
<p><strong>Étape 4 : vérifier que le travail effectué est correct</strong></p>
<p>Enfin, après avoir créé votre merge request, vous pouvez vérifier votre travail avec le prompt suivant :</p>
<pre><code class="language-unset">Does my MR fully address Issue 1119?  
</code></pre>
<p>Agentic Chat confirme alors si toutes les exigences ont été prises en compte en analysant à la fois votre merge request et le ticket d'origine.</p>
<h2>Essayez Agentic Chat dès aujourd'hui !</h2>
<p>GitLab Duo Agentic Chat est actuellement disponible en tant que fonctionnalité expérimentale dans VS Code pour les utilisateurs de GitLab Duo Pro et GitLab Duo Enterprise. Découvrez les prérequis et les étapes de configuration dans notre <a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/">documentation officielle</a>.</p>
<p>Cette version expérimentale d'Agentic Chat présente encore quelques limitations connues que nous nous efforçons de résoudre, y compris des temps de réponse parfois lents en raison de multiples appels API, une recherche basée sur des mots-clés plutôt que sur une recherche sémantique, ainsi qu'une prise en charge limitée des nouveaux dossiers locaux ou des projets autres que GitLab. <strong>Vos retours sont précieux pour nous aider à hiérarchiser les prochaines améliorations et à proposer Agentic Chat en disponibilité générale. C'est pourquoi nous vous invitons à partager votre expérience dans <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/542198">ce ticket</a>.</strong></p>
<h2>Quelles perspectives pour Agentic Chat ?</h2>
<p>Nous concentrons tous nos efforts sur l'amélioration d'Agentic Chat en vue de sa future disponibilité générale. À court terme, notre objectif est de réduire les temps de réponse et d'y intégrer les capacités dont GitLab Duo Chat dispose actuellement, telles que la compatibilité avec les modèles de GitLab Duo Self-Hosted, ainsi que la prise en charge des environnements JetBrains et Visual Studio, en plus de VS Code. Une fois cette nouvelle architecture pleinement implémentée dans GitLab Duo Chat, nous prévoyons également d'intégrer Agentic Chat directement au chat intégré à l'application web de GitLab. D'autres améliorations sont déjà en cours de développement, notamment : la modification directe des artefacts GitLab, la prise en charge du contexte à partir de serveurs personnalisés via MCP (Model Context Protocol) et la possibilité d'exécuter des commandes directement dans le terminal.</p>
<blockquote>
<p>Vous souhaitez découvrir l'assistance au développement autonome, mais vous n'utilisez pas encore GitLab ? Profitez dès aujourd'hui d'un <a href="https://about.gitlab.com/fr-fr/free-trial/">essai gratuit de 60 jours de GitLab Ultimate avec Duo Enterprise</a> pour tester Agentic Chat et contribuez à façonner l'avenir du développement alimenté par l'IA. Pour commencer, suivez simplement ces <a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat-in-vs-code">étapes de configuration pour VS Code</a>.</p>
</blockquote>
<p><em><strong>Avertissement : cet article de blog contient des informations relatives aux produits, fonctionnalités et caractéristiques à venir. Il est important de noter qu'elles ne sont fournies qu'à titre informatif. Veuillez ne pas vous fier à ces informations à des fins d'achat ou de planification. Comme pour tout projet, les éléments mentionnés dans cet article sont susceptibles de changer ou d’être retardés. Le développement, la sortie et le calendrier de tout produit ou fonctionnalité restent à la seule discrétion de GitLab.</strong></em></p>
<h2>En savoir plus</h2>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/">GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise</a></li>
<li><a href="https://about.gitlab.com/fr-fr/topics/agentic-ai/">Qu'est-ce que l'IA agentique ?</a></li>
<li><a href="https://about.gitlab.com/blog/agentic-ai-guides-and-resources/">Agentic Chat : guides et ressources</a></li>
</ul>
]]></content>
        <author>
            <name>Torsten Linz</name>
            <uri>https://about.gitlab.com/blog/authors/torsten-linz</uri>
        </author>
        <published>2025-05-29T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Qu’est-ce qu’un grand modèle de langage (LLM) ?]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/large-language-model/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/large-language-model/"/>
        <updated>2025-05-28T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Les grands modèles de langage (ou Large Language Models) révolutionnent les approches <a href="https://about.gitlab.com/fr-fr/topics/devops/" title="Qu'est-ce que le DevOps ? ">DevOps</a> et DevSecOps en simplifiant des tâches complexes, qu’il s’agisse de créer du code, d’examiner des logs ou de détecter des vulnérabilités.</p>
<p>Dans cet article, découvrez comment fonctionnent les grands modèles de langage, leurs applications concrètes et les principaux enjeux à surmonter pour exploiter pleinement leur potentiel.</p>
<p><strong>Sommaire</strong></p>
<ul>
<li>Qu’est-ce qu’un LLM ?</li>
<li>Comment fonctionnent les grands modèles de langage ?</li>
<li>Applications des grands modèles de langage dans une approche DevSecOps</li>
<li>Quels sont les avantages des grands modèles de langage ?</li>
<li>Quels sont les défis liés à l’utilisation des LLM ?</li>
<li>Comment GitLab utilise les LLM pour ses fonctionnalités GitLab Duo ?</li>
</ul>
<h2>Qu’est-ce qu’un LLM ?</h2>
<p>Les grands modèles de langage (LLM) sont des systèmes d’intelligence artificielle capables de traiter et de générer du texte de manière autonome. Leur apprentissage repose sur l’analyse de vastes ensembles de données issues de sources variées, afin qu’ils puissent maîtriser les structures linguistiques, les relations contextuelles et les nuances du langage.</p>
<p>Les LLM représentent une avancée majeure dans le domaine de l’IA. Leur capacité à traiter, générer et interpréter du texte repose sur des techniques sophistiquées d’apprentissage automatique et de traitement automatique du langage naturel (NLP). Ces systèmes ne se contentent pas de traiter des mots isolés : ils analysent des séquences complexes pour saisir le sens global, les contextes subtils et les nuances linguistiques.</p>
<h2>Comment fonctionnent les grands modèles de langage ?</h2>
<p>Pour mieux comprendre leur fonctionnement, explorons certaines des caractéristiques clés des grands modèles de langages.</p>
<h3>Apprentissage supervisé et non supervisé</h3>
<p>Les grands modèles de langage sont entraînés selon deux approches complémentaires : l’apprentissage supervisé et l’apprentissage non supervisé. Ces deux approches du machine learning permettent de maximiser leurs capacités à analyser et à générer du texte.</p>
<ul>
<li>
<p><strong>L’apprentissage supervisé</strong> repose sur des données étiquetées, où chaque entrée est associée à un résultat attendu. Le modèle apprend à associer ces entrées aux sorties correctes en ajustant ses paramètres internes pour réduire les erreurs de prédiction. Grâce à cette approche, le modèle acquiert des connaissances précises sur des tâches spécifiques, telles que la classification de textes ou la reconnaissance d’entités nommées.</p>
</li>
<li>
<p><strong>L’apprentissage non supervisé (ou apprentissage automatique)</strong>, quant à lui, ne nécessite pas de données étiquetées. Le modèle explore de vastes volumes de texte pour découvrir des structures cachées et identifier des relations sémantiques. Ainsi, le modèle est en capacité d‘apprendre des schémas récurrents, des règles grammaticales implicites dans le texte ou encore de contextualisation des phrases et des concepts. Cette méthode permet d’entraîner les LLM sur de vastes corpus de données, accélérant considérablement leur progression sans intervention humaine directe.</p>
</li>
</ul>
<p>En combinant ces deux approches, les grands modèles de langage bénéficient autant d'un apprentissage précis guidé par des humains que d’une exploration autonome illimitée. Cette complémentarité leur permet de se développer rapidement, tout en améliorant continuellement leur capacité à comprendre et à générer du texte de manière cohérente et contextuelle.</p>
<h3>Apprentissage reposant sur un large volume de données</h3>
<p>Les grands modèles de langage sont entraînés à partir de milliards de phrases issues de sources variées, telles que des articles de presse, des forums en ligne, des documentations techniques, des études scientifiques et bien plus encore. Cette variété de sources leur permet d’acquérir une compréhension étendue et nuancée du langage naturel, allant des expressions courantes aux terminologies spécialisées.</p>
<p>La richesse des données utilisées est un facteur clé de la performance des LLM. Chaque source apporte des styles d’écriture, des contextes culturels et des niveaux de technicité différents.</p>
<p>Par exemple :</p>
<ul>
<li><strong>Des articles de presse</strong> : pour maîtriser un langage informatif et factuel.</li>
<li><strong>Des forums en ligne</strong> : pour comprendre les conversations informelles et les langages techniques des communautés spécialisées.</li>
<li><strong>Des documentations techniques et études scientifiques</strong> : pour assimiler des concepts complexes et des terminologies spécifiques, notamment dans des domaines comme le DevOps et le DevSecOps.</li>
</ul>
<p>Cette diversité de contenu permet aux LLM de reconnaître des structures linguistiques complexes, d’interpréter des phrases dans différents contextes et de s’adapter à des domaines très techniques. Dans le DevSecOps, cela signifie comprendre des commandes, des configurations, des protocoles de sécurité et même des concepts liés au développement et à la maintenance de systèmes informatiques.</p>
<p>Grâce à cette formation à grande échelle, les grands modèles de langage peuvent répondre avec précision à des questions complexes, rédiger des documentations techniques ou identifier des vulnérabilités dans des systèmes informatiques.</p>
<h3>Architecture de réseaux neuronaux et « deep learning »</h3>
<p>Les grands modèles de langage reposent sur des architectures de réseaux neuronaux avancées. Ces réseaux sont spécialement conçus pour traiter de grandes séquences de texte tout en maintenant une compréhension précise du contexte. Cet apprentissage en « deep learning » constitue un atout majeur dans le domaine du traitement automatique du langage naturel (NLP).</p>
<p>La plus connue de ces structures est l’architecture des modèles séquence à séquence (transformers). Cette architecture a révolutionné le NLP grâce à sa capacité à analyser simultanément toutes les parties d’un texte, contrairement aux approches séquentielles qui traitent les mots un par un.</p>
<p>Les modèles séquence à séquence excellent dans le traitement des textes longs. Par exemple, dans une conversation ou un document technique détaillé, ils sont capables de relier des informations distantes dans le texte pour produire des réponses précises et bien argumentées. Cette gestion du contexte est essentielle dans une approche DevSecOps, où les instructions peuvent être complexes et réparties sur plusieurs lignes de code ou étapes de configuration.</p>
<h3>Génération de texte prédictive</h3>
<p>Lorsque l'utilisateur soumet un texte, une requête ou une question, un grand modèle de langage utilise sa capacité de prédiction pour générer la suite la plus probable, fondée sur le contexte fourni.</p>
<p>Le modèle analyse chaque mot, étudie les relations grammaticales et sémantiques, puis sélectionne les termes les plus adaptés pour produire un texte cohérent et informatif. Cette approche permet de générer des réponses précises, détaillées et adaptées au ton attendu.</p>
<p>Dans les environnements DevSecOps, cette capacité devient particulièrement utile pour :</p>
<ul>
<li><strong>l’assistance au codage</strong> : génération de blocs de code ou de scripts adaptés à des configurations spécifiques.</li>
<li><strong>la résolution de problèmes techniques</strong> : propositions de solutions basées sur des descriptions de bogues ou d’erreurs.</li>
<li><strong>la rédaction de documentations techniques</strong> : création automatique de guides, de manuels ou d'instructions.</li>
</ul>
<p>La génération de texte prédictive permet ainsi d’automatiser de nombreuses tâches répétitives et d’accélérer le travail des équipes techniques.</p>
<h2>Applications des grands modèles de langage dans une approche DevSecOps</h2>
<p>Avec la montée en puissance de l’automatisation, les grands modèles de langage sont devenus des alliés incontournables pour les équipes techniques. Leur capacité à comprendre et à générer du texte de manière contextuelle leur permet d’intervenir efficacement dans des environnements complexes tels que le <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a>.</p>
<p>Grâce à leur puissance d’analyse et leur capacité à s’adapter aux besoins spécifiques, ces modèles offrent des solutions sur mesure pour rationaliser les processus et alléger la charge de travail des équipes techniques.</p>
<h3>Génération de code automatisée</h3>
<p>Les équipes de développement peuvent exploiter les grands modèles de langage pour transformer des spécifications fonctionnelles en code source de manière automatisée.</p>
<p>Grâce à cette capacité, elles peuvent :</p>
<ul>
<li>générer des scripts d'automatisation complexes,</li>
<li>créer des pipelines CI/CD adaptés aux processus spécifiques de l'entreprise,</li>
<li>produire des correctifs de sécurité sur mesure.</li>
<li>générer des explications de code et créer une documentation,</li>
<li>refactoriser le code en améliorant sa structure et sa lisibilité sans modifier les fonctionnalités,</li>
<li>générer des tests.</li>
</ul>
<p>En s'appuyant sur les LLM, les équipes parviennent à accélérer le développement de leurs logiciels tout en réduisant les risques d'erreurs humaines.</p>
<h3>Documentation et partage des connaissances améliorés</h3>
<p>Ces puissants outils facilitent la création de manuels d'utilisation, de descriptions d'API et de tutoriels sur mesure, parfaitement adaptés au niveau d'expertise de chaque utilisateur. En s’appuyant sur des bases de connaissances existantes, les grands modèles de langages créent des réponses contextuelles aux questions fréquentes. Cela améliore la transmission des savoirs au sein des équipes, accélère l'intégration des nouveaux membres et permet de centraliser les bonnes pratiques.</p>
<h3>Gestion des incidents et dépannage</h3>
<p>Lors d’un incident, les LLM jouent un rôle crucial en analysant en temps réel les logs et les fichiers de trace. Grâce à leur capacité à croiser des informations provenant de multiples sources, ils identifient les anomalies et proposent des solutions fondées sur des incidents similaires passés. Cette approche réduit significativement le temps de diagnostic. De plus, les LLM peuvent automatiser la création de rapports d'incidents détaillés et recommander des actions correctives précises.</p>
<h3>Création et amélioration des pipelines CI/CD</h3>
<p>Les grands modèles de langage révolutionnent la configuration des <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a>. Ils peuvent non seulement aider à créer des pipelines, mais aussi à automatiser ce processus et proposer des configurations optimales basées sur des standards de l'industrie. En adaptant les workflows selon vos besoins spécifiques, ils assurent une cohérence parfaite entre les différents environnements de développement. Les tests automatisés sont renforcés par des suggestions pertinentes, limitant ainsi les risques de défaillance. Les LLM surveillent également en continu l’efficacité des pipelines et ajustent les processus pour garantir un déploiement fluide et sans interruption.</p>
<h3>Sécurité et conformité</h3>
<p>Dans un environnement DevSecOps, les grands modèles de langage deviennent des alliés précieux pour la <a href="https://about.gitlab.com/fr-fr/solutions/security-compliance/" title="Sécurité et conformité">sécurité et la conformité</a>. Ils analysent le code source à la recherche de vulnérabilités potentielles et génèrent des recommandations correctives détaillées. Les LLM peuvent également surveiller l'application des normes de sécurité en temps réel, produire des rapports de conformité complets et automatiser l'application de correctifs de sécurité dès qu'une faille est identifiée. Cette automatisation renforce la sécurité globale et garantit un respect constant des exigences légales et industrielles.</p>
<h2>Quels sont les avantages des grands modèles de langage ?</h2>
<p>Les grands modèles de langage transforment en profondeur les approches DevOps et DevSecOps, apportant des améliorations substantielles en matière de productivité, de sécurité et de qualité logicielle. En s’intégrant aux workflows existants, les LLM bouleversent les approches traditionnelles en automatisant des tâches complexes et en fournissant des solutions innovantes.</p>
<h3>Amélioration de la productivité et de l’efficacité</h3>
<p>Les grands modèles de langage jouent un rôle central dans l’amélioration de la productivité et de l’efficacité des équipes techniques. En automatisant un large éventail de tâches répétitives, ils libèrent les équipes de développement des opérations routinières. Ces dernières peuvent ainsi se concentrer sur des activités stratégiques à plus forte valeur ajoutée.</p>
<p>En outre, les LLM agissent comme des assistants techniques intelligents capables de fournir instantanément des extraits de code pertinents, adaptés au contexte spécifique de chaque projet. De cette manière, ils réduisent considérablement le temps de recherche en proposant des solutions prêtes à l’emploi pour assister les équipes dans leur travail. Cette assistance ciblée accélère la résolution des problèmes et diminue les interruptions dans les workflows.</p>
<p>Ainsi, la productivité augmente et les projets avancent plus rapidement. Les équipes techniques peuvent prendre en charge un plus grand nombre de tâches sans compromettre la qualité des livrables.</p>
<h3>Amélioration de la qualité du code et de la sécurité</h3>
<p>L’utilisation des grands modèles de langage dans le développement logiciel constitue un levier majeur pour améliorer autant la qualité du code que la sécurité des applications. Grâce à leurs capacités d’analyse avancées, les LLM peuvent examiner le code source ligne par ligne et détecter instantanément les erreurs syntaxiques, incohérences logiques et vulnérabilités potentielles. Leur aptitude à reconnaître le code défectueux permet de recommander des corrections adaptées et conformes aux meilleures pratiques du secteur.</p>
<p>Les LLM jouent aussi un rôle préventif essentiel. Ils excellent dans l'identification des failles de sécurité complexes, souvent difficiles à repérer par les humains. En analysant les dépendances, ils peuvent signaler des bibliothèques obsolètes ou vulnérables, et recommander des versions mises à jour plus sûres. Cette approche contribue au maintien d’un environnement sécurisé et conforme aux normes de sécurité en vigueur.</p>
<p>Au-delà de la correction des erreurs existantes, les LLM proposent des améliorations en suggérant des pratiques de codage et des structures de projet optimisées. Ils peuvent générer du code respectant les normes de sécurité les plus avancées, et ce, dès les premières étapes du développement.</p>
<h3>Accélération des cycles de développement</h3>
<p>Les grands modèles de langage jouent un rôle déterminant dans l’accélération des cycles de développement logiciel en automatisant des tâches clés qui, autrement, mobiliseraient de précieuses ressources humaines.</p>
<p>Les tâches complexes et répétitives, comme l’écriture de fonctions, la création de tests unitaires ou l’implémentation de composants standards, sont automatisées en quelques instants.</p>
<p>Les LLM accélèrent également la phase de validation grâce à leur capacité à suggérer des scénarios de test complets et adaptés. Ils garantissent une couverture de test plus étendue en un minimum de temps, réduisant les risques d’erreurs et facilitant la détection précoce des anomalies. Cette approche préventive raccourcit le cycle de corrections et limite les retards liés aux problèmes de qualité du code.</p>
<p>En simplifiant les tâches techniques et en fournissant des solutions rapides et adaptées, les grands modèles de langage favorisent une réponse plus agile des entreprises aux exigences du marché. Cette accélération du cycle de développement se traduit par des mises à jour plus fréquentes, des itérations plus rapides et une meilleure capacité à adapter les produits aux besoins changeants des utilisateurs.</p>
<p>Les cycles de développement deviennent ainsi plus courts, offrant un avantage stratégique essentiel dans un environnement technologique toujours plus exigeant.</p>
<h2>Quels sont les défis liés à l’utilisation des LLM ?</h2>
<p>Malgré leurs nombreux avantages, les grands modèles de langage présentent certaines limites qui nécessitent une gestion attentive. Leur efficacité dépend fortement de la qualité des données utilisées lors de leur entraînement et de la mise à jour régulière de leurs bases de connaissances. De plus, des problèmes liés aux biais algorithmiques, à la sécurité des données et à la confidentialité peuvent survenir, exposant les entreprises à des risques opérationnels et juridiques. Une supervision humaine rigoureuse demeure indispensable pour garantir la fiabilité des résultats, assurer la conformité réglementaire et éviter les erreurs critiques.</p>
<h3>Confidentialité et sécurité des données</h3>
<p>L’entraînement des LLM repose sur de vastes volumes de données, souvent issues de sources diverses, ce qui soulève des questions quant à la protection des informations confidentielles. Les données sensibles partagées avec des plateformes cloud peuvent donc être exposées à des violations potentielles. Cela inquiète particulièrement les entreprises opérant dans des secteurs réglementés.</p>
<p>En Europe, où des réglementations strictes comme le RGPD régissent la gestion des données, de nombreuses entreprises hésitent à transférer leurs informations vers des services externes. Les exigences réglementaires, associées à la crainte d'une exploitation non autorisée des données sensibles, incitent certaines entreprises à privilégier des solutions auto-hébergées pour conserver un contrôle total sur leurs systèmes.</p>
<p>Des fournisseurs comme GitLab ont mis en place des garanties de sécurité robustes, telles que la non-rétention intentionnelle des données à caractère personnel et le chiffrement de bout en bout. Toutefois, cela peut ne pas suffire pour les clients les plus exigeants, qui préfèrent une maîtrise complète de leurs environnements. La mise en œuvre de solutions hybrides ou sur site devient alors une nécessité stratégique pour répondre aux exigences de sécurité de certaines entreprises.</p>
<p>Pour en savoir plus sur GitLab Duo Self-Hosted, cliquez sur l'image ci-dessous pour accéder à la visite guidée.</p>
<p>&lt;a href=&quot;https://gitlab.navattic.com/gitlab-duo-self-hosted&quot;&gt;&lt;img src=&quot;//images.ctfassets.net/r9o86ar0p03f/2pwIuKnYugpw309BVVMjou/84dd883d0332876b731faaed6d649140/gitlab-duo-self-hosted-product-tour.png&quot; alt=&quot;GitLab Duo Self-Hosted Product Tour&quot;&gt;&lt;/a&gt;</p>
<h3>Précision et fiabilité</h3>
<p>Bien que les grands modèles de langage soient capables de générer des résultats impressionnants, leur performance n’est pas infaillible. Ils peuvent produire des réponses incorrectes, incomplètes ou incohérentes. Cette imprécision devient particulièrement problématique dans le cadre de tâches critiques comme la génération de code de sécurité ou l'analyse de données sensibles.</p>
<p>De plus, les LLM fonctionnent sur la base de modèles probabilistes, ce qui signifie qu’ils ne « comprennent » pas véritablement le contenu qu'ils traitent, mais produisent des prédictions basées sur des probabilités statistiques. Cela peut entraîner des recommandations techniquement incorrectes, voire dangereuses, lorsqu'elles sont utilisées sans validation humaine.</p>
<p>Pour éviter ces pièges, il est essentiel de maintenir une supervision constante et d’établir des processus de validation rigoureux. Les résultats fournis par les LLM doivent alors toujours être examinés par des humains avant leur intégration dans des systèmes critiques.</p>
<p>Une stratégie de mise à jour régulière des modèles, associée à une surveillance humaine proactive, permet de réduire les erreurs et d'améliorer progressivement la fiabilité des résultats.</p>
<h2>Comment GitLab utilise les LLM pour ses fonctionnalités GitLab Duo ?</h2>
<p><a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="Qu'est-ce que GitLab Duo ? ">GitLab Duo</a> exploite la puissance des grands modèles de langage pour transformer les processus DevSecOps en intégrant des fonctionnalités alimentées par l’IA, et ce, tout au long du cycle de vie du développement logiciel. Cette approche vise à améliorer la productivité, renforcer la sécurité et automatiser des tâches complexes afin de permettre aux équipes de développement de se concentrer sur des tâches à forte valeur ajoutée.</p>
<h3>Une assistance IA pour le développement logiciel</h3>
<p>GitLab Duo propose un soutien continu tout au long du cycle de développement logiciel grâce à des recommandations en temps réel. Les équipes de développement peuvent automatiquement générer des tests unitaires, obtenir des explications détaillées sur des segments de code complexes et bénéficier de suggestions pour améliorer la qualité de leur code.</p>
<h3>Analyse proactive des défaillances CI/CD</h3>
<p>L’une des fonctionnalités clés de GitLab Duo est son assistance à l'analyse des échecs des jobs CI/CD. Grâce au LLM et l’IA, les équipes parviennent à identifier rapidement les sources d'erreurs dans leurs pipelines d’intégration et de déploiement continus.</p>
<h3>Sécurité du code renforcée</h3>
<p>GitLab Duo intègre des fonctionnalités de sécurité basées sur l’IA. Le système détecte les vulnérabilités dans le code source et propose des correctifs détaillés pour en réduire les risques. Les équipes reçoivent des explications claires sur la nature des failles identifiées et peuvent appliquer des correctifs automatisés via des <a href="https://docs.gitlab.com/ee/user/project/merge_requests/" title="Merge request">merge requests</a> générées directement par GitLab Duo. Cette fonctionnalité permet de sécuriser le développement sans pour autant ralentir les cycles de développement.</p>
<p>Pour en savoir plus sur cette fonctionnalité, cliquez sur l'image ci-dessous pour accéder à notre visite guidée.</p>
<p>&lt;a href=&quot;https://gitlab.navattic.com/ve-vr-short&quot;&gt;&lt;img src=&quot;//images.ctfassets.net/r9o86ar0p03f/R6uuYPxQoSwo56kWygRkJ/9972ec8e5371cfc30391c6f656ed35fb/gitlab-duo-enterprise-product-tour.png&quot; alt=&quot;GitLab Vulnerability Report Product Tour&quot;&gt;&lt;/a&gt;</p>
<h4>Fonctionnalités clés de GitLab Duo</h4>
<ul>
<li>
<p><a href="https://about.gitlab.com/fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat/" title="GitLab Duo Chat">GitLab Duo Chat</a> : cette fonctionnalité conversationnelle traite et génère du texte et du code de manière intuitive. Elle permet aux utilisateurs de rechercher rapidement des informations pertinentes dans des volumes importants de texte, notamment dans les tickets, les <a href="https://docs.gitlab.com/ee/user/group/epics/" title="Epics">epics</a>, le code source et la <a href="https://docs.gitlab.com/" title="Documentation GitLab">documentation GitLab</a>.</p>
</li>
<li>
<p><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-self-hosted-enterprise-ai-built-for-data-privacy/" title="GitLab Duo Self-Hosted">GitLab Duo Self-Hosted</a> : GitLab Duo Self-Hosted permet aux entreprises ayant des exigences strictes en matière de confidentialité de leurs données de bénéficier des fonctionnalités d’IA de GitLab Duo avec une flexibilité dans le choix du déploiement et des LLM parmi une liste d’options supportées.</p>
</li>
<li>
<p><a href="https://about.gitlab.com/direction/create/code_creation/code_suggestions/" title="Suggestions de code">Suggestions de code</a> : les équipes de développement bénéficient de suggestions de code automatisées, ce qui leur permet d'écrire du code sécurisé plus rapidement. Les tâches de codage répétitives et routinières sont ainsi automatisées, accélérant considérablement les cycles de développement logiciel.</p>
</li>
</ul>
<p>GitLab Duo ne se limite pas à ces fonctionnalités. Il offre une gamme étendue de fonctionnalités destinées à simplifier et à optimiser le développement logiciel. Que ce soit pour automatiser des tests, améliorer la collaboration entre les équipes ou renforcer la sécurité des projets, GitLab Duo constitue une solution complète pour des processus DevSecOps intelligents et efficaces.</p>
<p>Pour en savoir plus sur GitLab Duo Enterprise, cliquez sur l'image ci-dessous pour accéder à notre visite guidée.</p>
<p>&lt;a href=&quot;https://gitlab.navattic.com/duo-enterprise&quot;&gt;&lt;img src=&quot;//images.ctfassets.net/r9o86ar0p03f/4nclgZ2JUeQ0hR4wjOS30P/ba948ae1a0dce0cff4469ca06490efb1/Screenshot_2024-08-27_at_9.24.32_AM.png&quot; alt=&quot;GitLab Duo Enterprise Product Tour&quot;&gt;&lt;/a&gt;</p>
]]></content>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-05-28T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Premiers pas avec GitLab : comment tirer parti des variables CI/CD]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-working-with-ci-cd-variables/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-working-with-ci-cd-variables/"/>
        <updated>2025-05-27T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p><em>Bienvenue dans notre série « Premiers pas avec GitLab », conçue pour guider les nouveaux utilisateurs dans la prise en main de la plateforme DevSecOps de GitLab.</em></p>
<p>Après avoir exploré les bases de <a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd/">l'approche CI/CD de GitLab</a> dans notre précédent article, concentrons-nous à présent sur les <strong>variables CI/CD</strong> afin de tirer pleinement parti de leur potentiel.</p>
<h2>Qu’est-ce qu’une variable CI/CD ?</h2>
<p>Les variables CI/CD sont des paires clé-valeur dynamiques que vous pouvez définir à différents niveaux (projet, groupe ou instance par exemple) au sein de votre environnement GitLab. Elles permettent de personnaliser les <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a>, de centraliser les configurations et de gérer en toute sécurité des données sensibles. Intégrées directement dans le fichier <code>.gitlab-ci.yml</code> comme des espaces réservés pour les valeurs correspondantes, elles facilitent la maintenance, renforcent la sécurité et améliorent la flexibilité des workflows CI/CD.</p>
<h2>Quel est le rôle des variables CI/CD ?</h2>
<p>Les variables CI/CD offrent de nombreux avantages :</p>
<ul>
<li><strong>Flexibilité</strong> : adaptez facilement vos pipelines à différents environnements, configurations ou cibles de déploiement sans modifier votre script CI/CD principal.</li>
<li><strong>Sécurité</strong> : stockez en toute sécurité des informations sensibles telles que des clés API, des mots de passe et des tokens sans les exposer dans votre code.</li>
<li><strong>Maintenabilité</strong> : en centralisant les valeurs, elles simplifient la gestion et les mises à jour de votre configuration CI/CD pour qu'elle reste structurée correctement.</li>
<li><strong>Réutilisation</strong> : définies une seule fois, elles peuvent être réutilisées dans plusieurs projets, ce qui favorise la cohérence et réduit les doublons.</li>
</ul>
<h2>Portées des variables CI/CD : projet, groupe et instance</h2>
<p>GitLab permet de définir des variables CI/CD à différentes niveaux hiérarchiques du projet, avec un contrôle précis sur leur visibilité, leur portée et leur accessibilité :</p>
<ul>
<li>
<p><strong>Variables au niveau du projet</strong> : elles sont propres à un seul projet et idéales pour stocker des paramètres spécifiques, notamment :</p>
<ul>
<li>L'URL de déploiement : définissez des URL distinctes pour les environnements de préproduction et de production.</li>
<li>Les identifiants de connexion à la base de données : stockez les données de connexion à la base de données afin de pouvoir les utiliser lors d'un test ou d'un déploiement.</li>
<li>Les feature flags : activez ou désactivez les fonctionnalités à différentes étapes de votre pipeline.</li>
<li>Exemple : dans le cadre de votre projet <code>MyWebApp</code>, vous souhaitez stocker l'URL de déploiement de production. Vous pouvez définir une variable au niveau du projet, nommée <code>DPROD_DEPLOY_URL</code>, avec la valeur <code>https://mywebapp.com</code> d'URL de production.</li>
</ul>
</li>
<li>
<p><strong>Variables au niveau du groupe</strong> : elles sont partagées par tous les projets d'un groupe GitLab. Elles sont utiles pour centraliser des paramètres communs à plusieurs projets, notamment :</p>
<ul>
<li>Les clés API de services partagés : stockez-les pour des services tels qu'AWS, Google Cloud ou Docker Hub qui sont utilisés par plusieurs projets au sein du groupe.</li>
<li>Les paramètres de configuration généraux : définissez des paramètres de configuration communs qui s'appliquent à tous les projets du groupe.</li>
<li>Exemple : dans votre groupe <code>Web Apps</code>, vous souhaitez stocker une clé API pour Docker Hub. Vous pouvez définir une variable au niveau du groupe, nommée <code>DOCKER_HUB_API_KEY</code>, avec la valeur de clé API correspondante.</li>
</ul>
</li>
<li>
<p><strong>Variables au niveau de l'instance</strong> : elles sont disponibles pour tous les projets d'une instance GitLab et couramment utilisées pour les paramètres généraux qui s'appliquent à l'ensemble de l'entreprise, notamment :</p>
<ul>
<li>Le token d'enregistrement de runner par défaut : fournissez un token par défaut pour l'enregistrement de nouveaux <a href="https://docs.gitlab.com/runner/">runners</a>.</li>
<li>Les informations sur la licence : stockez les clés de licence des fonctionnalités GitLab ou des outils tiers.</li>
<li>Les paramètres d'environnement généraux : définissez des variables d'environnement qui doivent être disponibles pour tous les projets.</li>
<li>Exemple : vous souhaitez définir une image Docker par défaut pour tous les projets de votre instance GitLab. Vous pouvez définir une variable au niveau de l'instance, nommée <code>DEFAULT_DOCKER_IMAGE</code>, avec la valeur <code>ubuntu:latest</code>.</li>
</ul>
</li>
</ul>
<h2>Comment définir des variables CI/CD ?</h2>
<p>Pour définir une variable CI/CD, voici comment procéder :</p>
<ol>
<li>Cliquez sur les boutons <strong>Paramètres &gt; CI/CD</strong> de votre projet, groupe ou instance.</li>
<li>Accédez à la section <strong>Variables</strong>.</li>
<li>Cliquez sur <strong>Ajouter une variable</strong>.</li>
<li>Saisissez la <strong>clé</strong> (par exemple, <code>API_KEY</code>) et la <strong>valeur</strong> correspondante.</li>
<li>Facultatif : cochez l'option <strong>Protéger la variable</strong> si elle contient des données sensibles afin de restreindre son utilisation aux pipelines qui s'exécutent sur des branches ou des tags protégés.</li>
<li>Facultatif : cochez la case <strong>Masquer la variable</strong> pour masquer sa valeur dans les job logs, afin d'éviter toute exposition accidentelle.</li>
<li>Cliquez sur <strong>Enregistrer la variable</strong>.</li>
</ol>
<h2>Comment utiliser des variables CI/CD ?</h2>
<p>Pour utiliser une variable CI/CD dans votre fichier <code>.gitlab-ci.yml</code>, faites simplement précéder le nom de la variable du symbole <code>$</code> :</p>
<pre><code class="language-yaml">deploy_job:
  script:
    - echo &quot;Deploying to production...&quot;
    - curl -H &quot;Authorization: Bearer $API_KEY&quot; https://api.example.com/deploy
</code></pre>
<h2>Comment utiliser les variables CI/CD prédéfinies dans GitLab ?</h2>
<p>GitLab met à disposition un ensemble de <a href="https://docs.gitlab.com/ci/variables/predefined_variables/">variables CI/CD prédéfinies</a> que vous pouvez utiliser dans vos pipelines CI/CD. Celles-ci fournissent des informations contextuelles sur le pipeline, le job, le projet en cours, et bien plus encore.</p>
<p>Voici les variables plus couramment utilisées :</p>
<ul>
<li><code>$CI_COMMIT_SHA</code> : SHA de validation qui déclenche le pipeline</li>
<li><code>$CI_PROJECT_DIR</code> : répertoire dans lequel le projet est cloné</li>
<li><code>$CI_PIPELINE_ID</code> : ID du pipeline en cours</li>
<li><code>$CI_ENVIRONMENT_NAME</code> : nom de l'environnement de déploiement cible (le cas échéant)</li>
</ul>
<h2>Bonnes pratiques pour l'utilisation des variables CI/CD</h2>
<ul>
<li>Gérez en toute sécurité les variables sensibles : utilisez des variables protégées et masquées pour stocker les clés API, les mots de passe et tout autre secret.</li>
<li>Évitez de coder en dur les valeurs : stockez les valeurs de configuration dans des variables afin de renforcer la flexibilité et la maintenance de vos pipelines.</li>
<li>Organisez vos variables : utilisez des noms explicites et regroupez les variables par usage pour faciliter leur gestion.</li>
<li>Choisissez la portée appropriée : définissez vos variables au niveau du projet, groupe ou instance en fonction de leur utilisation prévue et de leur visibilité.</li>
</ul>
<h2>Tirez parti de la puissance des variables CI/CD</h2>
<p>Les variables CI/CD sont un outil puissant pour personnaliser et sécuriser vos pipelines GitLab. En maîtrisant leur fonctionnement et en comprenant leurs différentes portées, vous pouvez créer des workflows plus flexibles, plus faciles à maintenir et plus efficaces.</p>
<blockquote>
<p>Prêt à passer à l’action ? Commencez à utiliser les variables CI/CD dès aujourd'hui et profitez d'un <a href="https://about.gitlab.com/fr-fr/free-trial/">essai gratuit de 60 jours de GitLab Ultimate avec Duo Enterprise</a>.</p>
</blockquote>
<h2>Articles de la série « Premiers pas avec GitLab »</h2>
<p>Découvrez les autres articles de notre série « Premiers pas avec GitLab » :</p>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-manage-users/">Comment gérer les utilisateurs</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab/">Comment importer vos projets dans GitLab</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-mastering-project-management/">Comment maîtriser la gestion de projet</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/automating-agile-workflows-with-the-gitlab-triage-gem/">La gemme gitlab-triage : votre alliée pour des workflows Agile automatisés</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd/">Comprendre l'approche CI/CD</a></li>
</ul>
]]></content>
        <author>
            <name>GitLab Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-team</uri>
        </author>
        <published>2025-05-27T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[L'IA à la portée de tous les clients GitLab Premium et Ultimate]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-premium-with-duo/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-premium-with-duo/"/>
        <updated>2025-05-15T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>À l’occasion du lancement de GitLab 18.0, nous présentons nos dernières innovations en matière de workflows <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que l'approche DevSecOps ? ">DevSecOps</a>, de sécurité et de conformité, ainsi que d'IA. <strong>Cette nouvelle version marque une étape importante : GitLab Premium et GitLab Ultimate intègrent désormais, sans frais supplémentaires, les capacités d'IA essentielles de GitLab Duo.</strong> Tous les utilisateurs des éditions Premium et Ultimate bénéficient d'un accès immédiat aux fonctionnalités de chat et de suggestions de code de GitLab Duo, directement dans leurs éditeurs de code source et IDE préférés.</p>
<h2>L'IA au service des équipes de développement</h2>
<p>L'intelligence artificielle occupe désormais une place centrale dans le quotidien des équipes de développement. Elle optimise l'écriture de code en analysant le code base en temps réel, en proposant des suggestions au fil de la saisie, en générant des fonctions et méthodes adaptées au contexte du projet, en automatisant les tâches répétitives et en simplifiant les revues de code.</p>
<p>Depuis plusieurs années, nous développons <a href="https://about.gitlab.com/fr-fr/gitlab-duo/">GitLab Duo</a> pour intégrer ces capacités d'IA générative et agentique à notre plateforme, car l'écriture du code ne représente qu'une partie du cycle de développement logiciel : notre <a href="https://about.gitlab.com/fr-fr/developer-survey/">Rapport Global DevSecOps</a> révèle en effet que les développeurs consacrent 79 % de leur temps à des tâches autres que la création de code. Nous avons donc fait le choix d'intégrer l'IA à chaque étape du cycle de développement logiciel.</p>
<p>Nous franchissons aujourd'hui un nouveau cap en incluant les fonctionnalités clés de GitLab Duo dans nos éditions GitLab Premium et GitLab Ultimate, afin que chaque développeur et développeuse puisse bénéficier des avantages de l'IA, sans frais supplémentaires.</p>
<p>En effet, en intégrant les fonctionnalités de chat et de suggestions de code de GitLab Duo aux éditions GitLab Premium et Ultimate, les ingénieurs logiciels peuvent accélérer leur workflow au sein même de l'IDE, sans devoir installer d'autres outils, gérer des licences distinctes ou se soucier de la gouvernance. Il suffit aux clients Premium et Ultimate existants de passer à GitLab 18.0 pour bénéficier d'un accès instantané à ces fonctionnalités. Elles seront également disponibles pour tous les nouveaux clients.</p>
<blockquote>
<p><strong>« GitLab a déjà joué un rôle déterminant en nous aidant à nous affranchir d'une chaîne d'outils fragmentée, ce qui a permis de réduire les coûts liés à des solutions disparates et de rationaliser notre workflow. L'ajout de GitLab Duo à GitLab Premium nous permettra d'optimiser notre productivité et de réaliser encore plus d'économies, car nos développeurs consacreront moins de temps aux tâches de codage répétitives et plus de temps à la résolution de défis complexes qui génèrent une valeur métier réelle. »</strong></p>
<ul>
<li>Andrei Nita, Chief Technology Officer chez McKenzie Intelligence Services</li>
</ul>
</blockquote>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1083723619?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;GitLab Premium with Duo Core&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<p>&lt;br&gt;&lt;/br&gt;
Les clients Premium et Ultimate bénéficient désormais des capacités d'IA natives suivantes :</p>
<h4>Suggestions de code de GitLab Duo</h4>
<ul>
<li>Génération de fonctions complètes et de blocs de code à partir de commentaires</li>
<li>Complétion de code intelligente au fil de la saisie</li>
<li>Prise en charge de plus de 20 langages de programmation</li>
<li>Intégration aux IDE les plus populaires</li>
</ul>
<p>Découvrez la fonctionnalité de suggestions de code de GitLab Duo dans cette présentation interactive (cliquez sur l'image pour démarrer la présentation).</p>
<p>&lt;a href=&quot;https://gitlab.navattic.com/code-suggestions&quot;&gt;&lt;img src=&quot;//images.ctfassets.net/r9o86ar0p03f/4nclgZ2JUeQ0hR4wjOS30P/ba948ae1a0dce0cff4469ca06490efb1/Screenshot_2024-08-27_at_9.24.32_AM.png&quot; alt=&quot;GitLab Duo Code Suggestions cover image&quot;&gt;&lt;/a&gt;</p>
<p>Consultez notre <a href="https://docs.gitlab.com/user/project/repository/code_suggestions/">documentation sur les suggestions de code de GitLab Duo</a> pour en savoir plus.</p>
<h4>GitLab Duo Chat</h4>
<ul>
<li>Explication de code pour faciliter la compréhension des fonctions complexes</li>
<li>Refactorisation du code existant pour améliorer sa qualité et sa maintenabilité</li>
<li>Génération de scénarios de test complets pour vous aider à détecter les bugs dès les premières étapes du développement</li>
<li>Correction des anomalies directement dans votre workflow</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673912/Blog/Content%20Images/Duo_Chat_-_gif_-_API_endpoint_explanation__3_.gif" alt="GitLab Duo Chat : explication du point de terminaison de l'API"></p>
<p>Pour en savoir plus, consultez notre <a href="https://docs.gitlab.com/user/gitlab_duo_chat/">documentation sur GitLab Duo Chat</a>.</p>
<blockquote>
<p><strong>« Pour nous, en tant qu'utilisateurs de GitLab, les suggestions de code intelligentes de GitLab Duo sont devenues un atout quotidien pour nos développeurs. Combinées à la fonctionnalité de chat, elles permettent d'effectuer des itérations rapides, avec un retour immédiat, pour des cycles de développement plus fluides et un code plus sécurisé. Elles constituent une intégration à la fois fluide et puissante à nos workflows. »</strong></p>
<ul>
<li>Felix Kortmann, Chief Technology Officer, Ignite by FORVIA HELLA</li>
</ul>
</blockquote>
<h2>GitLab Duo Enterprise disponible pour les clients GitLab Premium</h2>
<p>Face à une forte demande, nous avons le plaisir d'annoncer que les clients <a href="https://about.gitlab.com/fr-fr/pricing/premium/">GitLab Premium</a> peuvent désormais acheter une licence GitLab Duo Enterprise, notre suite complète de solutions d'IA, sans avoir à passer à GitLab Ultimate. Ils bénéficient ainsi d'une expérience d'IA exceptionnelle, avec des fonctionnalités avancées parfaitement intégrées à chaque étape du développement logiciel :</p>
<ul>
<li>
<p><a href="https://docs.gitlab.com/user/gitlab_duo/use_cases/#root-cause-analysis-use-cases">L'analyse des causes profondes</a> pour diagnostiquer et résoudre rapidement les <a href="https://about.gitlab.com/fr-fr/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai/" title="Échecs de pipelines CI/CD">échecs de pipelines CI/CD</a> et veiller à leur bon fonctionnement.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#have-gitlab-duo-review-your-code">La revue de code</a> qui utilise GitLab Duo comme relecteur pour accélérer la révision des modifications proposées dans une merge request.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/user/gitlab_duo_chat/">Le chat avancé</a> pour résumer les conversations. Il aide à comprendre les modifications apportées au code et fournit une assistance avancée pour la configuration.</p>
</li>
<li>
<p><a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/">GitLab Duo Self-Hosted</a> pour déployer GitLab Duo dans des environnements air-gapped et hors ligne en hébergeant des modèles d'IA approuvés.</p>
</li>
</ul>
<p>Au-delà de la disponibilité de GitLab Duo Enterprise, nous renforçons en continu notre engagement auprès des clients GitLab Premium. Depuis le lancement de GitLab 17, <a href="https://gitlab.com/gitlab-org/gitlab/-/releases">nous avons déployé plus d'une centaine de nouvelles fonctionnalités et d'améliorations</a>, dont voici quelques exemples notables :</p>
<ul>
<li>Le <a href="https://about.gitlab.com/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch/"><strong>catalogue CI/CD</strong></a> permet aux équipes de développement de partager, découvrir et réutiliser<br>
des configurations et des composants CI/CD préexistants.</li>
<li><a href="https://docs.gitlab.com/user/packages/virtual_registry/"><strong>Le registre des artefacts</strong></a> offre aux équipes de développement un accès sécurisé aux artefacts et une intégration homogène aux <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ? ">pipelines CI/CD</a>.</li>
<li><a href="https://docs.gitlab.com/user/project/remote_development/"><strong>Le développement à distance</strong></a> permet aux équipes de développement de travailler dans des environnements de développement à la demande, hébergés dans le cloud.</li>
</ul>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/pricing/premium/#wp-premium-features">Découvrez les fonctionnalités de GitLab Premium.</a></p>
</blockquote>
<h2>GitLab Duo : une IA qui s'adapte aux besoins des entreprises</h2>
<p>GitLab propose une gamme complète de fonctionnalités GitLab Duo dans ses offres Pro et Enterprise, pour accompagner ses clients à chaque étape de leur cycle d'adoption de l'IA. Plus vos équipes progressent dans ce cycle, et plus vous pouvez utiliser de fonctionnalités pour créer, tester et déployer plus rapidement des logiciels sécurisés.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673912/Blog/Content%20Images/Screenshot_2025-05-14_at_8.50.34_AM.png" alt="Principales fonctionnalités des forfaits GitLab Duo"></p>
<h2>Comment les clients GitLab Ultimate et Premium peuvent-ils activer GitLab Duo ?</h2>
<p>À partir de GitLab 18.0, pour les clients Ultimate et Premium existants, les fonctionnalités de suggestions de code et de chat de GitLab Duo sont désactivées par défaut, mais peuvent facilement être activées.</p>
<p>Vous trouverez la procédure à suivre ci-dessous :</p>
<ol>
<li>
<p>Vérifiez avant tout que vous disposez de GitLab Premium ou Ultimate. Dans le cas contraire, vous pouvez démarrer un essai gratuit de 60 jours.</p>
</li>
<li>
<p>Activez GitLab Duo dans vos paramètres.</p>
</li>
<li>
<p>Si vous utilisez un IDE local, installez l'<a href="https://docs.gitlab.com/editor_extensions/#available-extensions">extension d'éditeur de code</a> GitLab de votre choix.</p>
</li>
<li>
<p>Commencez à utiliser les suggestions de code et le chat dans l'IDE local de votre choix, s'il est pris en charge, ou dans le Web IDE de GitLab.</p>
</li>
</ol>
<p><strong>Remarque :</strong> les fonctionnalités d'IA de GitLab seront activées automatiquement pour les nouveaux clients et les versions d'essai.</p>
<h2>Le développement IA native avec une plateforme DevSecOps</h2>
<p>L'IA redéfinit l'expérience de développement. Les entreprises ne vont pas seulement recruter davantage de talents pour créer leurs logiciels. Elles vont également disposer de davantage de code généré par l'IA et prêt à être déployé en production, <strong>ce qui rend GitLab plus essentiel que jamais.</strong></p>
<p>Nous avons conçu GitLab Premium et Ultimate avec GitLab Duo spécifiquement dans cet état d'esprit, afin d'offrir aux équipes une base sécurisée pour l'ensemble de leur code. À mesure que l'IA génère du code à l'échelle de votre entreprise, GitLab devient votre plateforme de contrôle, éliminant ainsi le recours à des outils distincts pour le scanning de sécurité, les contrôles de conformité ou la gestion des pipelines. Vous pouvez entièrement vous appuyer sur notre plateforme unique et unifiée, qui évolue avec votre entreprise. Elle vous garantit la qualité, la sécurité et la conformité de votre code jusqu’à sa mise en production.</p>
<blockquote>
<p>Pour en savoir plus sur GitLab Duo et tous ses avantages pour votre équipe, <a href="https://about.gitlab.com/fr-fr/pricing/premium/">consultez notre page GitLab Premium</a> ou, si vous êtes un client GitLab, contactez votre représentant GitLab pour organiser une démonstration. Enfin, nous vous invitons à participer au <a href="https://about.gitlab.com/eighteen/">lancement virtuel de GitLab 18</a> le 24 juin 2025, afin de découvrir l'avenir du développement logiciel basé sur l'IA native.</p>
</blockquote>
]]></content>
        <author>
            <name>David DeSanto, Chief Product Officer, GitLab</name>
            <uri>https://about.gitlab.com/blog/authors/david-desanto, chief product officer, gitlab</uri>
        </author>
        <published>2025-05-15T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[L'IA agentique : guides et ressources]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/agentic-ai-guides-and-resources/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/agentic-ai-guides-and-resources/"/>
        <updated>2025-05-07T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<h2>IA agentique : définition</h2>
<p>L'<a href="https://about.gitlab.com/fr-fr/topics/agentic-ai/" title="Qu'est-ce que l'IA agentique ?">IA agentique</a> désigne une forme avancée d'intelligence artificielle capable d'agir de manière autonome en s'appuyant sur des modèles de langage sophistiqués et le traitement du langage naturel.</p>
<p>Contrairement à l'IA générative traditionnelle, qui nécessite une intervention humaine constante, l'IA agentique comprend les instructions, prend des décisions éclairées et exécute plusieurs séquences d'action pour atteindre un objectif défini. Elle décompose les tâches complexes en étapes plus simples et adapte sa stratégie en temps réel grâce à sa capacité d'apprentissage adaptatif lorsqu'elle rencontre des obstacles.</p>
<h2>Informations clés sur l'IA agentique</h2>
<ul>
<li><a href="https://about.gitlab.com/the-source/ai/emerging-agentic-ai-trends-reshaping-software-development/">Vers une nouvelle ère du développement logiciel grâce à l’IA agentique</a> : découvrez comment l'IA agentique transforme le développement logiciel en remplaçant le codage isolé par des workflows intelligents qui améliorent la productivité et garantissent la sécurité.</li>
<li><a href="https://about.gitlab.com/fr-fr/the-source/ai/agentic-ai-unlocking-developer-potential-at-scale/">IA agentique : libérez le plein potentiel des développeurs à grande échelle</a> : découvrez comment l'IA agentique révolutionne le développement logiciel en dépassant la simple complétion de code pour donner naissance à de véritables partenaires d'IA capables de gérer des tâches complexes de manière proactive.</li>
<li><a href="https://about.gitlab.com/fr-fr/the-source/ai/ai-trends-for-2025-agentic-ai-self-hosted-models-and-more/">Tendances de l'IA en 2025 : IA agentique, modèles auto-hébergés et bien plus encore</a> : découvrez les principales tendances du développement logiciel alimenté par l'IA, des déploiements de modèles sur site aux agents d'IA intelligents et adaptatifs.</li>
<li><a href="https://about.gitlab.com/the-source/ai/how-agentic-ai-unlocks-platform-engineering-potential/">L'IA agentique au service des équipes d'ingénierie de plateforme</a> : découvrez comment l'IA agentique révolutionne l'ingénierie de plateforme en automatisant les workflows complexes et en intensifiant les efforts de standardisation.</li>
</ul>
<h2>Bonnes pratiques pour intégrer l'IA agentique</h2>
<ul>
<li><a href="https://about.gitlab.com/the-source/ai/implementing-effective-guardrails-for-ai-agents/">Agents d’IA : sécurisez leur autonomie avec des garde-fous efficaces</a> : découvrez les garde-fous de sécurité indispensables à l'approche <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ?">DevSecOps</a> pour encadrer les agents d'IA, tels que les contrôles de conformité, la sécurisation de l'infrastructure et la gestion des accès utilisateurs.</li>
</ul>
<h2>Les offres de GitLab en matière d'IA agentique</h2>
<h3>GitLab Duo combiné à Amazon Q</h3>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo combiné à Amazon Q : l'IA agentique optimisée pour AWS est désormais disponible à tous les utilisateurs</a> : la plateforme DevSecOps complète alimentée par l'IA de GitLab, combinée aux fonctionnalités de cloud computing les plus avancées, accélère les cycles de développement, augmente l'automatisation et améliore la qualité du code.</li>
<li><a href="https://about.gitlab.com/blog/devsecops-agentic-ai-now-on-gitlab-self-managed-ultimate-on-aws/">DevSecOps + IA agentique : maintenant disponibles avec GitLab Self-Managed Ultimate sur AWS</a> : utilisez des agents d'IA optimisés pour l'approche DevSecOps dans votre instance GitLab Self-Managed Ultimate sur AWS et tirez pleinement parti des fonctionnalités de <a href="https://about.gitlab.com/fr-fr/gitlab-duo/" title="Qu'est-ce que GitLab Duo ?">GitLab Duo</a> combiné à Amazon Q au sein de votre entreprise.</li>
</ul>
<p>Pour en savoir plus, consultez notre page <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/aws/" title="GitLab Duo et AWS">GitLab et AWS</a> et visionnez une démonstration de GitLab Duo combiné à Amazon Q :</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1075753390?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;Technical Demo: GitLab Duo with Amazon Q&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<h4>Visite guidée</h4>
<p>Cliquez sur l'image pour une visite guidée de GitLab Duo combiné à Amazon Q :</p>
<p><a href="https://gitlab.navattic.com/duo-with-q"><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673568/Blog/Content%20Images/Screenshot_2025-05-07_at_7.24.45_AM.png" alt="Présentation interactive de GitLab Duo combiné à Amazon Q"></a></p>
<h4>Tutoriel GitLab Duo combiné à Amazon Q</h4>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-amazon-q-transform-ideas-into-code-in-minutes/">GitLab Duo combiné à Amazon Q : créez de nouvelles fonctionnalités en quelques minutes</a> : GitLab Duo combiné à Amazon Q analyse les descriptions de vos tickets et génère automatiquement des solutions de code complètes et opérationnelles, pour des workflows de développement plus rapides.</li>
</ul>
<h3>GitLab Duo Workflow</h3>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/gitlab-duo/workflow/">GitLab Duo Workflow</a> : l'avenir du développement logiciel basé sur une IA agentique sécurisée</li>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/">GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise</a> : nos agents d'IA sécurisés et autonomes comprennent le contexte et prennent en charge les tâches complexes. Les équipes de développement sont ainsi en mesure de livrer des logiciels innovants plus rapidement. La liste d'attente pour l'accès à la version bêta privée de GitLab Duo Workflow est ouverte.</li>
<li><a href="https://docs.gitlab.com/user/duo_workflow/">Documentation GitLab Duo Workflow</a></li>
</ul>
<p>Regardez cette présentation de GitLab Duo Workflow :</p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/eN2Sd5UNc0g?si=C9HibBJ3QDDHADq2&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>Visite guidée</h3>
<p>Cliquez sur l'image pour démarrer une visite de GitLab Duo Workflow :</p>
<p><a href="https://gitlab.navattic.com/duo-workflow"><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673569/Blog/Content%20Images/Screenshot_2025-05-07_at_7.29.57_AM.png" alt="Visite guidée de GitLab Duo Workflow"></a></p>
<h4>Tutoriels et cas d'utilisation de GitLab Duo Workflow</h4>
<ul>
<li><a href="https://about.gitlab.com/blog/refactoring-javascript-to-typescript-with-gitlab-duo-workflow/">Refactorisation de JavaScript en TypeScript avec GitLab Duo Workflow</a></li>
<li><a href="https://about.gitlab.com/blog/automate-tedious-coding-tasks-with-gitlab-duo-workflow/">Automatisation des tâches de codage fastidieuses avec GitLab Duo Workflow</a> : découvrez comment l'IA agentique peut réduire le temps que vous consacrez aux tâches répétitives afin de vous aider à vous concentrer sur le développement et la livraison de solutions innovantes.</li>
<li><a href="https://about.gitlab.com/fr-fr/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance/">GitLab Duo Workflow : améliorez l'assurance qualité de vos applications</a> : découvrez étape par étape comment ajouter des tests unitaires à une application Java à l'aide de l'IA agentique.</li>
<li><a href="https://about.gitlab.com/blog/solving-complex-challenges-with-gitlab-duo-workflow/">Résolution de défis complexes avec GitLab Duo Workflow</a> : découvrez comment l'équipe Customer Success de GitLab utilise l'IA agentique pour résoudre des problèmes concrets comme les limites des charts Helm dans le registre de paquets.</li>
</ul>
<h2>Autres ressources sur l'IA</h2>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/developer-survey/2024/ai/">Rapport Global DevSecOps 2024 : la maturité de l'IA dans l'approche DevSecOps</a></li>
<li><a href="https://about.gitlab.com/fr-fr/topics/devops/the-role-of-ai-in-devops/">Le rôle de l'IA dans l'approche DevOps</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/categories/ai-ml/">Les articles récents de GitLab sur l'IA et le ML</a></li>
</ul>
]]></content>
        <author>
            <name>GitLab</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab</uri>
        </author>
        <published>2025-05-07T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Intégrez la conformité à vos workflows DevSecOps avec GitLab]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops/"/>
        <updated>2025-04-30T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>La conformité n'est plus une formalité, mais un vecteur stratégique : elle aide à maîtriser les risques opérationnels, renforce la confiance des clients et améliore la performance globale. Pourtant, trouver l'équilibre entre exigences de conformité et vélocité peut s'avérer particulièrement complexe pour les équipes de développement logiciel. Les <a href="https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/">frameworks de conformité personnalisés</a> de GitLab apportent une réponse concrète à cette problématique en intégrant la vérification de la conformité directement dans vos workflows de développement.</p>
<p>Découvrez dans cet article tout ce que vous devez savoir sur les frameworks de conformité personnalisés de GitLab et comment les utiliser de façon optimale.</p>
<h2>Qu’est-ce qu’un framework de conformité personnalisé ?</h2>
<p>Les frameworks de conformité personnalisés de GitLab vous permettent de définir, d'appliquer et de faire respecter vos propres normes de conformité directement dans votre instance GitLab. GitLab propose déjà des fonctionnalités de conformité « prêtes à l’emploi », mais chaque entreprise a ses propres obligations. Avec les frameworks personnalisés, vous pouvez donc définir vos propres stratégies de conformité en fonction de réglementations spécifiques, de vos politiques internes ou des normes de votre secteur.</p>
<p>Ces frameworks offrent les principaux avantages suivants :</p>
<ul>
<li>Réduction significative du suivi manuel</li>
<li>Accélération de la préparation aux audits</li>
<li>Intégration native des contrôles de conformité</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097114254.png" alt="Capture d'écran du centre de conformité avec les frameworks répertoriés"></p>
<p>GitLab propose à ce jour plus de 50 contrôles préconfigurés, modifiables, que vous pouvez activer selon vos besoins. Ils couvrent un large éventail de réglementations, comme la loi HIPAA dans le domaine de la santé, le RGPD pour la protection des données, la <a href="https://about.gitlab.com/fr-fr/the-source/security/how-gitlab-can-help-you-prepare-for-your-soc-2-exam/" title="Norme SOC 2">norme SOC 2</a> relative aux prestataires de services et bien d'autres réglementations propres à des secteurs d'activité spécifiques. En voici quelques exemples :</p>
<ul>
<li>Séparation des tâches : au moins deux approbateurs requis, y compris l'auteur de la merge request</li>
<li>Scanners de sécurité : scans <a href="https://docs.gitlab.com/user/application_security/sast/">SAST</a> et <a href="https://docs.gitlab.com/user/application_security/dependency_scanning/">analyse des dépendances</a> exécutés automatiquement</li>
<li>Authentification/autorisation : visibilité du projet définie sur privé et authentification unique (SSO) activée</li>
<li>Configuration de l'application : vérification obligatoire des statuts de conformité et utilisation de fichiers de configuration Terraform exigée</li>
</ul>
<p>En outre, vous pouvez étendre les capacités de conformité de GitLab en configurant vos propres contrôles sur des environnements externes à l'aide de l'API GitLab.</p>
<h2>Comment créer un framework de conformité personnalisé dans GitLab ?</h2>
<p>Maintenant que nous avons clarifié l’importance des frameworks de conformité personnalisés, voyons comment les mettre en œuvre dans votre environnement GitLab, en utilisant l'application de démonstration reprise dans la vidéo ci-dessous.</p>
<p><strong>Remarque :</strong> un abonnement <a href="https://about.gitlab.com/fr-fr/pricing/ultimate/" title="Qu'est-ce que GitLab Ultimate ?">GitLab Ultimate</a> est requis.</p>
<p>&lt;!-- TODO: EMBED_YT_VIDEO --&gt;</p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/bSwwv5XeMdQ?si=unDwCltF4vTHT4mB&quot; title=&quot;Adhering to compliance requirements with built-in compliance controls
&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p><strong>Étape 1 : définissez vos exigences de conformité</strong></p>
<p>Avant de créer votre framework de conformité personnalisé, vous devez définir clairement vos exigences en la matière :</p>
<ol>
<li><strong>Identifiez les réglementations applicables :</strong> déterminez les obligations légales et normes qui s'appliquent à votre entreprise (par exemple, le RGPD, la norme PCI DSS ou la loi HIPAA).</li>
<li><strong>Associez les exigences à des contrôles :</strong> décomposez chaque exigence réglementaire identifiée en contrôles spécifiques et exploitables.</li>
<li><strong>Hiérarchisez les exigences :</strong> concentrez vos efforts sur les domaines à haut risque et les exigences à fort impact.</li>
</ol>
<p><strong>Étape 2 : créez votre framework de conformité personnalisé dans GitLab</strong></p>
<p>Voici comment procéder :</p>
<ol>
<li>Accédez à la section <strong>Sécurisation &gt; Centre de conformité</strong> de votre groupe GitLab.</li>
<li>Cliquez sur le bouton <strong>Nouveau framework</strong>.</li>
<li>Sélectionnez <strong>Créer un framework vide</strong>.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750097114255.png" alt="Écran de création d'un framework de conformité personnalisé"></p>
<ol start="4">
<li>Renseignez son nom, sa description et choisissez sa couleur.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097114257.png" alt="Écran Nouveau framework de conformité"></p>
<ol start="5">
<li>
<p>Ajoutez des exigences :<br>
a. Accédez à l'onglet <strong>Exigences</strong>.</p>
<p>b. Cliquez sur le bouton <strong>Nouvelle exigence</strong>.</p>
<p>c. Fournissez un nom et une description.<br>
d. Dans la section <strong>Contrôles</strong>, sélectionnez <strong>Choisir un contrôle GitLab</strong>.<br>
e. Sélectionnez un contrôle dans la liste (par exemple, au moins deux approbations, l'exécution de scans SAST).<br>
f. Cliquez ensuite sur le bouton <strong>Créer une exigence</strong>.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097114258.png" alt="Bouton Créer une exigence"></p>
<ol start="6">
<li>Cliquez sur le bouton <strong>Créer un framework</strong>.</li>
</ol>
<p>Une fois créé, ce framework pourra être appliqué à vos projets selon les paramètres définis. Par ailleurs, GitLab permet également d'importer des frameworks de conformité au format JSON, selon le schéma prévu.</p>
<p><strong>Étape 3 : appliquez le framework à vos projets</strong></p>
<p>Une fois votre framework de conformité créé, suivez les étapes ci-dessous pour l’appliquer à un ou plusieurs projets :</p>
<ol>
<li>Accédez au <strong>Centre de conformité</strong> de GitLab, puis sélectionnez l'onglet <strong>Projets</strong>.</li>
<li>Utilisez la barre de recherche pour <strong>Rechercher</strong> ou <strong>Filtrer</strong> les projets concernés.</li>
<li>Sélectionnez le ou les projets dans la liste.</li>
<li>Cliquez sur le bouton <strong>Choisir une action groupée</strong>.</li>
<li>Sélectionnez <strong>Appliquer les frameworks aux projets sélectionnés</strong>.</li>
<li>Cliquez sur le bouton <strong>Sélectionner des frameworks</strong>.</li>
<li>Sélectionnez le ou les frameworks de votre choix dans la liste.</li>
<li>Cliquez sur le bouton <strong>Appliquer</strong>.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097114260.png" alt="Écran du Centre de conformité avec la liste déroulante affichant le framework SOC 2"></p>
<p>Une fois cette opération effectuée, le framework sélectionné est associé aux projets choisis. Les exigences définies sont alors visibles et peuvent être vérifiées directement dans l'interface GitLab.</p>
<p><strong>Étape 4 : surveillez et générez des rapports de conformité</strong></p>
<p>Une fois votre framework de conformité en place, GitLab vous offre un suivi continu et centralisé dans le <strong>Centre de conformité</strong> :</p>
<ol>
<li>Suivez le statut de conformité de vos projets, y compris les détails sur les contrôles appliqués, ainsi que des correctifs suggérés pour les contrôles ayant échoué.</li>
<li>Générez des <strong>rapports de conformité</strong> pour les audits et l'examen par les parties prenantes.</li>
<li>Configurez des <strong>alertes de conformité</strong> pour informer les parties prenantes des problèmes de conformité potentiels.</li>
<li>Consultez les <strong>événements d'audit</strong> pour une vue d'ensemble des mesures prises concernant les paramètres de conformité.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097114263.png" alt="Écran du Centre de conformité affichant le framework de test SOC 2"></p>
<h2>Exemple : mise en œuvre d'un framework de conformité SOC 2</h2>
<p>Le SOC 2 (System and Organization Controls 2), développée par l'American Institute of Certified Public Accountants, est une norme d'audit rigoureuse qui évalue les contrôles mis en œuvre par les prestataires de services en matière de sécurité, de disponibilité, d'intégrité du traitement des données, de confidentialité et de protection des données personnelles. Pour en savoir plus, consultez le <a href="https://about.gitlab.com/blog/guide-to-fulfilling-soc-2-security-requirements-with-gitlab/">guide sur le respect des exigences de sécurité SOC 2 avec GitLab</a>.</p>
<p>Voici un exemple concret d'implémentation d'un framework de conformité personnalisé GitLab dont l'objectif est de vérifier la conformité à la norme de sécurité SOC 2 à l’aide des contrôles GitLab préconfigurés suivants :</p>
<ul>
<li>Contrôles contre les accès non autorisés</li>
<li>Procédures d'identification et d'atténuation des risques</li>
<li>Systèmes de détection et de gestion des incidents de sécurité</li>
</ul>
<p><strong>Avertissement :</strong> il ne s'agit là que d'un exemple qui illustre certains des contrôles possibles pour vérifier l'adhésion à la norme SOC 2. Avant toute mise en production, validez votre configuration avec votre équipe sécurité ou conformité.</p>
<p>Ce framework se présentera comme suit :</p>
<ul>
<li>
<p><strong>Nom :</strong> Exigences de sécurité SOC 2</p>
</li>
<li>
<p><strong>Description :</strong> Ajout des exigences de sécurité pour la conformité au framework SOC 2</p>
</li>
<li>
<p><strong>Exigences :</strong></p>
<ul>
<li>
<p><strong>Contrôles contre les accès non autorisés</strong></p>
<ul>
<li>Authentification SSO activée</li>
<li>Portée des tokens pour les jobs CI/CD activée</li>
<li>Authentification multifacteur requise au niveau de l'entreprise</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>Procédures d'identification et d'atténuation des risques</strong></p>
<ul>
<li>Au moins deux approbations requises avant tout merge</li>
<li>Merge request approuvée par l'auteur</li>
<li>Merge request approuvée par les validateurs</li>
<li>Branche par défaut protégée</li>
</ul>
</li>
<li>
<p><strong>Systèmes de détection et de gestion des incidents de sécurité</strong></p>
<ul>
<li>Analyse des dépendances activée</li>
<li>SAST activé</li>
<li>DAST activé</li>
</ul>
</li>
</ul>
<p>Lorsqu'il est appliqué à vos projets, ce framework vous permet de surveiller toute erreur de conformité et d'identifier les corrections envisageables. Notez que vous pouvez associer plusieurs frameworks de conformité à vos projets, par exemple, pour couvrir les exigences d'intégrité des processus SOC 2.</p>
<h2>Comment définir des stratégies de sécurité en accord avec les exigences de conformité ?</h2>
<p>Bien que cet aspect ne soit pas obligatoire, il est fortement recommandé d'appliquer des stratégies de sécurité aux projets associés à un framework de conformité personnalisé. Cette approche garantit que les exigences de conformité critiques sont correctement appliquées de manière automatisée et cohérente dans les <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ?">pipelines CI/CD</a>. Par exemple, si votre framework de conformité personnalisé impose que des scans de sécurité soient exécutés sur chaque pipeline, une stratégie de sécurité peut en forcer l’exécution.</p>
<p>GitLab fournit différentes stratégies de sécurité pour répondre aux différents objectifs de sécurité et de conformité :</p>
<ul>
<li><a href="https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/">Stratégie d'exécution des scans</a> : impose l'exécution de scans de sécurité dans les pipelines ou selon un calendrier précis.</li>
<li><a href="https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/">Politique d'approbation des merge requests</a> : définit des paramètres et règles d'approbation au niveau du projet en fonction des résultats des scans.</li>
<li><a href="https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/">Stratégie d'exécution de pipeline</a> : force l'exécution de jobs CI/CD spécifiques dans les pipelines.</li>
<li><a href="https://docs.gitlab.com/user/application_security/policies/vulnerability_management_policy/">Stratégie de gestion des vulnérabilités</a> : corrige automatiquement les vulnérabilités afin qu’elles soient supprimées de la branche par défaut.</li>
</ul>
<p>Si votre framework de conformité personnalisé exige l'exécution de scans SAST, voici comment créer une stratégie de sécurité pour en garantir l’exécution automatique :</p>
<ol>
<li>Accédez à un projet qui dispose d'un framework de conformité personnalisé incluant les <strong>scans SAST</strong>.</li>
<li>Dans la barre latérale du projet, sélectionnez <strong>Sécurisation &gt; Politiques</strong>.</li>
<li>Cliquez sur le bouton <strong>Nouvelle stratégie</strong>.</li>
<li>Dans la section <strong>Stratégie d'exécution des scans</strong>, cliquez sur le bouton <strong>Sélectionner une stratégie</strong>.</li>
<li>Renseignez le <strong>Nom</strong> et la <strong>Description</strong>.</li>
<li>Dans la section <strong>Actions</strong>, sélectionnez <strong>SAST</strong> comme type de scan à exécuter.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097114264.png" alt="Écran des actions"></p>
<ol start="7">
<li>Dans la section <strong>Conditions</strong>, sélectionnez tous les pipelines, quelle que soit la branche.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097114/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097114265.png" alt="Écran des conditions"></p>
<ol start="8">
<li>Cliquez sur le bouton <strong>Configurer avec une merge request</strong>.</li>
<li>Une merge request est alors créée dans un projet distinct dédié aux stratégies de sécurité appliquées à ce projet.</li>
<li>Cliquez sur le bouton <strong>Fusionner</strong>.</li>
</ol>
<p>Désormais, les scans SAST s'exécuteront automatiquement sur toutes les branches du projet afin de garantir le respect continu des exigences de conformité. Nous vous conseillons de parcourir les autres types de stratégies de sécurité pour identifier celles qui répondent le mieux à vos besoins.</p>
<h2>5 bonnes pratiques pour des frameworks de conformité efficaces</h2>
<p>Pour tirer pleinement parti des frameworks de conformité personnalisés de GitLab, nous vous conseillons de suivre les principes suivants :</p>
<ol>
<li><strong>Avancez pas à pas :</strong> commencez par une seule réglementation ou norme critique avant d'aller plus loin.</li>
<li><strong>Impliquez les principales parties prenantes :</strong> incluez les équipes de conformité, de sécurité et de développement dans la création du framework.</li>
<li><strong>Automatisez dans la mesure du possible :</strong> utilisez GitLab CI/CD pour automatiser les contrôles de conformité.</li>
<li><strong>Documentez minutieusement votre approche :</strong> conservez une documentation claire du lien entre chaque exigence réglementaire et les contrôles GitLab mis en place.</li>
<li><strong>Révisez régulièrement vos frameworks :</strong> mettez à jour vos frameworks à mesure que les réglementations évoluent ou que de nouvelles exigences sont nécessaires.</li>
</ol>
<h2>Lancez-vous dès aujourd'hui</h2>
<p>Les frameworks de conformité personnalisés de GitLab marquent une avancée majeure pour intégrer la conformité directement dans le workflow de développement DevSecOps. En les adoptant, vous réduisez les frais liés à la conformité, améliorez votre gestion des risques et accélérez vos cycles de développement logiciel, tout en garantissant la meilleure conformité possible aux exigences réglementaires.</p>
<p>Grâce à cette approche, vos équipes bénéficient à la fois de la flexibilité dont elles ont besoin pour répondre aux exigences réglementaires et de la structure indispensable pour garantir des pratiques de conformité cohérentes dans l'ensemble de l'entreprise.</p>
<p>Dans un contexte réglementaire de plus en plus exigeant, des outils comme les frameworks de conformité personnalisés de GitLab sont essentiels pour traiter la conformité comme un processus continu, sans compromettre la vélocité de développement.</p>
<blockquote>
<p>Lancez-vous dès aujourd'hui avec un <a href="https://about.gitlab.com/fr-fr/free-trial/">essai gratuit de 60 jours de GitLab Ultimate</a>.</p>
</blockquote>
<p>Pour en savoir plus, consultez nos ressources connexes :</p>
<ul>
<li><a href="https://docs.gitlab.com/user/compliance/compliance_center/compliance_status_report/">Documentation sur les frameworks de conformité personnalisés</a></li>
<li><a href="https://gitlab.com/groups/gitlab-org/-/epics/13295">Epic sur les frameworks de conformité personnalisés</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/policies/">Documentation sur les stratégies de sécurité</a></li>
<li><a href="https://about.gitlab.com/fr-fr/solutions/security-compliance/">Solutions de sécurité et de conformité de GitLab</a></li>
</ul>
]]></content>
        <author>
            <name>Fernando Diaz</name>
            <uri>https://about.gitlab.com/blog/authors/fernando-diaz</uri>
        </author>
        <published>2025-04-30T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo combiné à Amazon Q : créez de nouvelles fonctionnalités en quelques minutes]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-duo-amazon-q-transform-ideas-into-code-in-minutes/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-amazon-q-transform-ideas-into-code-in-minutes/"/>
        <updated>2025-04-28T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Vous est-il déjà arrivé de passer des jours, voire des semaines, à transformer des idées complexes en code opérationnel ? Toutes les équipes de développement connaissent cette situation. Malgré un concept solide et des exigences claires, il peut falloir beaucoup de temps et d'efforts pour élaborer un code déployable.</p>
<p>Et si les capacités de l'<a href="https://about.gitlab.com/fr-fr/topics/agentic-ai/">IA agentique</a> pouvaient tout changer ? C'est exactement ce que propose <a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo combiné à Amazon Q</a>. En associant la plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ? ">DevSecOps</a> complète alimentée par l'IA de GitLab aux fonctionnalités avancées de cloud computing d'AWS, cette intégration vous permet d'accélérer considérablement votre processus de développement d'applications, le tout au sein de votre workflow GitLab habituel. Le code que vos équipes de développement écrivent en plusieurs jours peut désormais être généré automatiquement en quelques minutes à partir des descriptions et exigences incluses dans vos tickets GitLab.</p>
<h2>Transformer un ticket en code opérationnel</h2>
<p>Découvrons comment cette fonctionnalité d'IA agentique fonctionne en pratique. Imaginez que vous deviez développer une application de calcul de prêt immobilier. Voici comment procéder à l'aide de GitLab Duo combiné à Amazon Q :</p>
<ol>
<li>
<p><strong>Créez votre ticket dans GitLab :</strong> créez un <a href="https://docs.gitlab.com/user/project/issues/">ticket</a> classique, contenant la liste complète des exigences de votre application. Ce ticket sert de point de départ pour développer votre solution logicielle.</p>
</li>
<li>
<p><strong>Activez Amazon Q :</strong> une fois votre ticket créé, ajoutez simplement un commentaire contenant la commande d'action rapide “/q dev” pour lancer Amazon Q et laisser la magie opérer.</p>
</li>
<li>
<p><strong>Génération automatique du code :</strong> GitLab Duo combiné à Amazon Q analyse votre ticket et le contexte de votre code source, puis génère automatiquement un code répondant à toutes vos spécifications. Et cerise sur le gâteau : l'IA soumet également ce code dans une merge request, prête pour la revue.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097156/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097156018.png" alt="Capture d'écran de la fenêtre contextuelle de GitLab Duo combiné à Amazon Q"></p>
<ol start="4">
<li>
<p><strong>Revue de l'application générée</strong> : consultez la merge request pour vérifier que le code correspond bien à vos attentes et apportez des ajustements si nécessaire.</p>
</li>
<li>
<p><strong>Testez votre application</strong> : enfin, assurez-vous que l'application s'exécute correctement. Vous disposez désormais d'un code opérationnel conforme à vos exigences initiales, sans effort superflu.</p>
</li>
</ol>
<h2>Une nouvelle ère pour votre développement logiciel</h2>
<p>GitLab Duo combiné à Amazon Q révolutionne le développement logiciel en automatisant intelligemment les tâches complexes, réduisant ainsi drastiquement le temps nécessaire pour produire du code opérationnel. En tirant parti de l'IA agentique, vous pouvez accélérer le déploiement de vos nouvelles fonctionnalités, ce qui permet à vos équipes de se concentrer sur des tâches plus stratégiques.</p>
<p>Avec GitLab Duo combiné à Amazon Q, dites adieu aux tâches manuelles et développez des logiciels plus rapidement, plus efficacement et plus facilement. Vous pouvez ainsi :</p>
<ul>
<li><strong>Accélérer votre processus de développement</strong> en automatisant la création de code conformément aux exigences du projet.</li>
<li><strong>Maintenir une qualité constante</strong> lors de la génération de code, pour l'ensemble de vos projets.</li>
<li><strong>Réduire la charge mentale</strong> en limitant la traduction manuelle des exigences en code opérationnel.</li>
<li><strong>Accélérer vos cycles de sortie des nouvelles versions</strong> en supprimant les goulots d'étranglement, notamment ceux liés à l'implémentation.</li>
<li><strong>Optimiser l'expertise de votre équipe</strong> en la recentrant sur la revue de code et l'optimisation de ce dernier, plutôt que sur son écriture.</li>
</ul>
<p>Vous souhaitez découvrir GitLab Duo combiné à Amazon Q ? Regardez notre vidéo de démonstration et découvrez dès aujourd'hui comment optimiser votre workflow de développement.</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/jxxzNst3jpo?si=j_LQdZhUnwqoQEst&quot; title=&quot;GitLab Duo with Amazon Q demo video for dev workflow&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<blockquote>
<p>Pour en savoir plus sur GitLab Duo combiné à Amazon Q, <a href="https://docs.gitlab.com/user/duo_amazon_q/" title="Documentation Amazon Q">consultez notre documentation</a> ou <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/aws/">contactez notre équipe</a>.</p>
</blockquote>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-04-28T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Premiers pas avec GitLab : comprendre l'approche CI/CD ]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd/"/>
        <updated>2025-04-25T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Imaginez un cycle de développement logiciel dans lequel chaque modification de code est automatiquement compilée, testée, puis déployée auprès de vos utilisateurs. C'est tout l'intérêt de l'<a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ? ">approche CI/CD</a> (intégration continue/livraison continue) qui vous aide à détecter les bogues à un stade précoce, garantit la qualité du code et vous permet de livrer des logiciels plus rapidement et plus fréquemment.</p>
<h2>Qu'est-ce que l'approche CI/CD ?</h2>
<ul>
<li><strong>L'<a href="https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/" title="Qu'est-ce que l'intégration continue ? ">intégration continue</a></strong> est une pratique de développement qui consiste à fusionner régulièrement les modifications apportées au code dans un dépôt partagé, de préférence plusieurs fois par jour, afin qu'elles soient vérifiées via un processus automatisé de compilation et de tests. Les équipes de développement peuvent ainsi détecter rapidement les problèmes et conflits éventuels.</li>
<li><strong>La <a href="https://about.gitlab.com/fr-fr/topics/continuous-delivery/" title="Qu'est-ce que la livraison continue ? ">livraison continue</a></strong> complète l'intégration continue en automatisant le pipeline pour la sortie de nouvelles versions. <em>À tout moment</em>, l'application reste déployable vers un environnement donné (par exemple, préproduction, production), en un seul clic ou par le biais d'un déclenchement automatique.</li>
<li><strong>Le déploiement continu</strong> pousse encore plus loin la logique d’automatisation. <em>Chaque compilation réussie</em> est directement mise en production, sans validation manuelle. Ce niveau d'automatisation requiert une confiance totale dans vos tests automatisés et vos processus de déploiement.</li>
</ul>
<h2>Pourquoi choisir GitLab CI/CD ?</h2>
<p>Entièrement intégré à la plateforme GitLab, GitLab CI/CD est un système puissant, qui permet d'automatiser facilement chaque étape de votre cycle de développement logiciel. Avec GitLab CI/CD, vous pouvez notamment :</p>
<ul>
<li><strong>Automatiser l'intégralité de votre cycle de développement :</strong> compilation, tests, déploiement, tout peut être orchestré via le <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Qu'est-ce qu'un pipeline CI/CD ? ">pipeline CI/CD</a>.</li>
<li><strong>Détecter les bogues en amont :</strong> les problèmes sont identifiés et corrigés bien avant d’atteindre l'environnement de production.</li>
<li><strong>Obtenir des retours immédiats :</strong> les équipes de développement obtiennent un retour rapide sur leurs modifications de code.</li>
<li><strong>Renforcer la collaboration :</strong> les workflows automatisés fluidifient le travail en équipe.</li>
<li><strong>Accélérer la livraison :</strong> les livraisons de nouvelles versions sont plus rapides et plus fréquentes.</li>
<li><strong>Réduire les risques :</strong> les erreurs de déploiement et les retours en arrière sont considérablement réduits.</li>
</ul>
<h2>Quels sont les principaux composants de GitLab CI/CD ?</h2>
<ul>
<li><strong><code>.gitlab-ci.yml</code> :</strong> ce <a href="https://docs.gitlab.com/ee/ci/yaml/">fichier YAML</a>, situé dans le répertoire racine de votre projet, définit l'ensemble du pipeline CI/CD, y compris les étapes, les jobs et les runners.</li>
<li><strong><a href="https://docs.gitlab.com/runner/">GitLab Runner</a>:</strong> cet agent exécute les jobs CI/CD sur l'infrastructure de votre choix (par exemple, machines physiques, machines virtuelles, conteneurs Docker ou clusters <a href="https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/" title="Qu'est-ce que Kubernetes ? ">Kubernetes</a>).</li>
<li><strong><a href="https://docs.gitlab.com/ee/ci/yaml/#stages">Étapes</a>:</strong> elles définissent l'ordre d'exécution des jobs (par exemple, compilation, tests et déploiement).</li>
<li><strong><a href="https://docs.gitlab.com/ee/ci/yaml/#job-keywords">Jobs</a>:</strong> chaque job représente une unité de travail spécifique exécutée lors de l'étape correspondante (par exemple, compiler du code, exécuter des tests ou déployer dans l'environnement de préproduction).</li>
</ul>
<h2>Comment configurer GitLab CI ?</h2>
<p>GitLab CI est très facile à prendre en main. Voici un exemple basique de fichier <code>.gitlab-ci.yml</code> :</p>
<pre><code class="language-yaml">
stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo &quot;Building the application...&quot;

test_job:
  stage: test
  script:
    - echo &quot;Running tests...&quot;

deploy_job:
  stage: deploy
  script:
    - echo &quot;Deploying to production...&quot;
  environment:
    name: production

</code></pre>
<p>Cette configuration définit trois étapes : « compilation », « test » et « déploiement ». Chaque étape contient un job qui exécute un script simple.</p>
<h3>Exemples de configuration CI/CD</h3>
<p>Explorons quelques exemples plus concrets.</p>
<p><strong>Création, compilation et déploiement d'une application Node.js</strong></p>
<p>Prenons l'exemple du pipeline ci-dessous qui compile et teste une application Node.js à l'aide de npm, puis la déploie sur Heroku via <a href="https://docs.gitlab.com/ci/examples/deployment/">dpl</a>. L'étape de déploiement du pipeline utilise des <a href="https://docs.gitlab.com/ci/variables/">variables GitLab CI/CD</a>, qui permettent de stocker des informations sensibles (par exemple, des identifiants de connexion) et de les utiliser en toute sécurité dans les processus CI/CD.</p>
<p>Dans cet exemple, une clé API pour déployer l'application sur Heroku est stockée sous le nom de variable <code>$HEROKU_API_KEY</code>, cette clé étant utilisée par l'outil dpl.</p>
<pre><code class="language-yaml">
stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: node:latest
  script:
    - npm install
    - npm run build

test:
  stage: test
  image: node:latest
  script:
    - npm run test

deploy:
  stage: deploy
  image: ruby:latest
  script:
    - gem install dpl
    - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY

</code></pre>
<p><strong>Déploiement vers différents environnements (préproduction et production)</strong></p>
<p>GitLab propose également la gestion des <a href="https://docs.gitlab.com/ci/environments/">environnements</a> au sein du pipeline CI/CD pour suivre les déploiements vers des cibles d'infrastructure. Dans l'exemple ci-dessous, le pipeline ajoute des étapes avec une propriété « environnement » pour les environnements de préproduction et de production. Alors que l'étape deploy_staging exécute son script automatiquement, l'étape deploy_production nécessite une approbation manuelle afin d'éviter tout déploiement accidentel en production.</p>
<pre><code class="language-yaml">
stages:
  - build
  - test
  - deploy_staging
  - deploy_production

build:
  # ...

test:
  # ...

deploy_staging:
  stage: deploy_staging
  script:
    - echo &quot;Deploying to staging...&quot;
  environment:
    name: staging

deploy_production:
  stage: deploy_production
  script:
    - echo &quot;Deploying to production...&quot;
  environment:
    name: production
  when: manual  # Requires manual approval

</code></pre>
<h3>GitLab Auto DevOps</h3>
<p><a href="https://docs.gitlab.com/ee/topics/autodevops/">GitLab Auto DevOps</a> simplifie encore plus l'approche CI/CD en fournissant une configuration prédéfinie pour compiler, tester et déployer automatiquement vos applications. Cette suite de fonctionnalités tire parti des bonnes pratiques et des normes du secteur pour rationaliser votre workflow.</p>
<p>Pour activer Auto DevOps :</p>
<ol>
<li>Accédez à <strong>Paramètres &gt; CI/CD &gt; Pipelines généraux</strong>.</li>
<li>Activez l'option <strong>Auto DevOps</strong>.</li>
</ol>
<p>Auto DevOps détecte automatiquement le langage et le framework de votre projet et configure les étapes de compilation, de tests et de déploiement nécessaires. Il est donc inutile de créer un fichier <code>.gitlab-ci.yml</code>.</p>
<h3>Catalogue CI/CD</h3>
<p>Le catalogue CI/CD est une liste de projets contenant des <a href="https://docs.gitlab.com/ee/ci/components/">composants CI/CD</a> publiés par la communauté, que vous pouvez utiliser pour optimiser votre workflow CI/CD. Vous pouvez y contribuer en ajoutant vos propres composants ou en enrichissant ceux déjà existants. Les composants publiés dans le <a href="https://gitlab.com/explore/catalog">catalogue CI/CD</a> sont disponibles sur GitLab.com.</p>
<blockquote>
<p><a href="https://about.gitlab.com/blog/tutorial-how-to-set-up-your-first-gitlab-ci-cd-component/">Tutoriel : Comment configurer votre premier composant GitLab CI/CD</a></p>
</blockquote>
<h3>Templates CI</h3>
<p>Vous pouvez également créer vos propres <a href="https://docs.gitlab.com/ee/ci/examples/">templates CI</a> afin de standardiser et de réutiliser les configurations de vos pipelines CI/CD entre plusieurs projets. Cette pratique favorise la cohérence et réduit les doublons.</p>
<p>Pour créer un template CI :</p>
<ol>
<li>Créez un fichier <code>.gitlab-ci.yml</code> dans un projet ou un dépôt dédié.</li>
<li>Définissez la configuration CI/CD souhaitée dans ce template.</li>
<li>Dans le fichier <code>.gitlab-ci.yml</code>, utilisez le terme <code>include</code> pour inclure ce template.</li>
</ol>
<h2>Optimisez votre processus de développement</h2>
<p>GitLab CI/CD transforme en profondeur votre workflow de développement de logiciels. En maîtrisant ses concepts, en configurant efficacement vos pipelines CI/CD et en tirant parti de fonctionnalités tels qu'Auto DevOps, le catalogue CI/CD et les templates CI, vous pouvez automatiser l'ensemble de votre cycle de développement logiciel et livrer des logiciels de haute qualité plus rapidement et plus efficacement.</p>
<p>Vous souhaitez approfondir vos connaissances ? Inscrivez-vous aux <a href="https://university.gitlab.com/">cours disponibles sur le portail GitLab University</a>.</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/free-trial/">Essayez GitLab Ultimate gratuitement pendant 60 jours</a>.</p>
</blockquote>
<h2>Articles de la série « Premiers pas avec GitLab »</h2>
<p>Découvrez les autres articles de notre série « Premiers pas avec GitLab » :</p>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-manage-users/">Comment gérer les utilisateurs</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab/">Comment importer vos projets dans GitLab</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-mastering-project-management/">Comment maîtriser la gestion de projet</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/automating-agile-workflows-with-the-gitlab-triage-gem/">La gemme gitlab-triage : votre alliée pour des workflows Agile automatisés</a></li>
</ul>
]]></content>
        <author>
            <name>GitLab</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab</uri>
        </author>
        <published>2025-04-25T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Guide des changements cassants et suppressions de GitLab 18.0]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/a-guide-to-the-breaking-changes-in-gitlab-18-0/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/a-guide-to-the-breaking-changes-in-gitlab-18-0/"/>
        <updated>2025-04-18T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLab 18.0, notre prochaine version majeure, inclut de nouvelles fonctionnalités qui repoussent les limites de l'innovation DevSecOps, tandis que certaines options obsolètes sont supprimées. Découvrez dans cet article un récapitulatif complet des évolutions majeures à venir, ainsi que des pistes concrètes pour en limiter l’impact sur vos projets.</p>
<h2>Fenêtres de déploiement GitLab 18.0</h2>
<h3>GitLab.com</h3>
<p>Les changements cassants sur GitLab.com sont concentrés sur ces trois périodes clés :</p>
<ul>
<li>Du 21 au 23 avril 2025</li>
<li>Du 28 au 30 avril 2025</li>
<li>Du 5 au 7 mai 2025</li>
</ul>
<p>De nombreux autres évolutions continuent d'être déployés au fil des mois. Pour en savoir plus sur les modifications les plus sensibles apportées prévues à ces dates, consultez notre <a href="https://docs.gitlab.com/update/breaking_windows/">documentation dédie aux changements cassants</a>.</p>
<p><em><strong>Remarque :</strong> exceptionnellement, certaines mises à jour importantes peuvent intervenir légèrement en dehors de ces périodes.</em></p>
<h3>GitLab Self-Managed</h3>
<p>GitLab 18.0 est disponible depuis le 15 mai. Consultez le calendrier complet des sorties de nouvelles versions sur <a href="https://about.gitlab.com/releases/">cette page</a>.</p>
<h3>GitLab Dedicated</h3>
<p>La mise à niveau vers GitLab 18.0 aura lieu pendant votre fenêtre de maintenance, entre le 24 et le 29 juin 2025. Pour en savoir plus et connaître votre fenêtre de maintenance, consultez <a href="https://docs.gitlab.com/administration/dedicated/maintenance/#release-rollout-schedule">cette page</a>.</p>
<p>Nous mettons également à votre disposition des outils et ressources adaptés pour vous aider à mesurer l'impact de ces changements sur votre environnement et préparer votre passage à la version 18.0. N'hésitez pas à consulter <a href="#tools-and-resources-to-manage-your-impact">toutes les informations sur ces outils, ressources et les mesures d'atténuation</a>.</p>
<p>En outre, la <a href="https://docs.gitlab.com/ee/update/deprecations?removal_milestone=18.0">page des obsolescences</a> répertorie l'ensemble des suppressions prévues dans la version 18.0. Découvrez ci-dessous les nouveautés de cette année et comment vous y préparer selon la configuration de votre déploiement.</p>
<h2>Changements cassants</h2>
<h3>Impact élevé</h3>
<p><strong>1. Token pour job CI/CD : suppression du paramètre « Limiter l'accès depuis votre projet »</strong></p>
<p>GitLab.com | GiitLab Self-Managed | GitLab Dedicated</p>
<p>Dans GitLab 14.4, nous avions mis en place le paramètre <strong>Limiter l'accès à CI_JOB_TOKEN</strong> pour améliorer la sécurité en <strong><a href="https://docs.gitlab.com/ci/jobs/ci_job_token/#limit-your-projects-job-token-access">restreignant l'accès <em>depuis</em> les tokens de job CI/CD de votre projet (CI_JOB_TOKEN)</a></strong> Dans la version 16.3 de GitLab, ce paramètre a été renommé <strong>Limiter l'accès <em>à partir</em> de ce projet</strong> pour plus de clarté.
Dans la version 15.9 de GitLab, nous avions introduit une solution alternative : le paramètre <strong><a href="https://docs.gitlab.com/ci/jobs/ci_job_token/#add-a-group-or-project-to-the-job-token-allowlist">Groupes et projets autorisés</a></strong>. Celui-ci contrôle l'accès au token pour job CI/CD de votre projet à l'aide d'une liste d'autorisations et constitue une amélioration significative par rapport à l'original. La première itération a été rendue obsolète dans GitLab 16.0 et sa suppression est prévue dans GitLab 18.0.</p>
<p>Le paramètre <strong>Limiter l'accès <em>à partir</em> de ce projet</strong> est désactivé par défaut pour tous les nouveaux projets. Depuis GitLab 16.0, une fois ce paramètre désactivé dans un projet, il n’est plus possible de le réactiver, mais vous pouvez utiliser le paramètre <strong>Groupes et projets autorisés</strong> pour contrôler l'accès au token pour job de vos projets.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#cicd-job-token---limit-access-from-your-project-setting-removal">Avis d'obsolescence</a></li>
<li><a href="https://gitlab.com/gitlab-com/support/toolbox/gitlab-detective/-/blob/main/README.md">Vérification GitLab Detective disponible</a></li>
</ul>
<p><strong>2. Token pour job CI/CD : application de la liste d'autorisation « Groupes et projets autorisés »</strong></p>
<p>GitLab.com | GitLab Self-Managed | GitLab Dedicated</p>
<p>Introduit dans GitLab 15.9, le <strong><a href="https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#add-a-group-or-project-to-the-job-token-allowlist">paramètre « Groupes et projets autorisés »</a></strong> (renommé <strong>Limiter l'accès à ce projet</strong> dans la version 16.3 de GitLab), vous permet de gérer l'accès au token pour job CI/CD de votre projet. Lorsque le paramètre est défini sur <strong>Uniquement ce projet et tous les groupes et projets de la liste d'autorisation</strong>, seuls les groupes ou projets explicitement ajoutés à cette liste peuvent accéder à votre projet par le biais d'un token de job.</p>
<ul>
<li><strong>Avant GitLab 15.9</strong>, le token de job était accessible depuis n'importe quel projet, car la liste d'autorisation était désactivée par défaut et définie sur <a href="https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#allow-any-project-to-access-your-project"><strong>« Tous les groupes et projets »</strong></a>, sans restriction d'accès.</li>
<li><strong>Depuis GitLab 17.6</strong>, les administrateurs des instances GitLab Self-Managed ou GitLab Dedicated peuvent désormais <a href="https://docs.gitlab.com/ee/administration/settings/continuous_integration.html#job-token-permissions"><strong>imposer des règles de sécurité plus strictes pour tous les projets</strong></a> et empêcher les chargés de maintenance des projets de sélectionner <strong>Tous les groupes et projets</strong>. Cette modification garantit un niveau de sécurité plus élevé entre les projets.</li>
<li>Dans GitLab 18.0, ce paramètre sera activé par défaut. Sur GitLab.com, nous remplirons automatiquement les listes d'autorisations de vos projets en fonction des logs d'authentification de votre projet.</li>
<li>Pour anticiper ce changement sur <strong>GitLab.com</strong>, les chargés de maintenance du projet qui utilisent le token de job pour l'authentification inter-projets doivent remplir les listes d'autorisations <strong>Groupes et projets autorisés</strong>, puis définir le paramètre sur <strong>Uniquement</strong> <strong>ce projet et tous les groupes et projets de la liste d'autorisation</strong>. Nous vous encourageons à utiliser les <a href="https://docs.gitlab.com/ci/jobs/ci_job_token/#auto-populate-a-projects-allowlist">outils de migration</a> disponibles pour <em><strong>automatiser</strong></em> la création de la liste d'autorisation en fonction des <a href="https://docs.gitlab.com/ci/jobs/ci_job_token/#job-token-authentication-log">logs d'authentification</a> du projet avant le passage à la version GitLab 18.0.</li>
<li>Les <strong>utilisateurs de GitLab Self-Managed</strong> doivent remplir les listes d'autorisations avant d'effectuer la mise à niveau vers la version 18.0.</li>
<li>Les <strong>utilisateurs de GitLab Dedicated</strong> doivent élaborer, en collaboration avec l'équipe chargée de leur compte GitLab, une approche adaptée à leur instance.</li>
</ul>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#cicd-job-token---authorized-groups-and-projects-allowlist-enforcement">Avis d'obsolescence</a></li>
<li><a href="https://docs.gitlab.com/ci/jobs/ci_job_token/#add-a-gr">Documentation</a></li>
<li><a href="https://gitlab.com/gitlab-com/support/toolbox/gitlab-detective/-/blob/main/README.md">Vérification GitLab Detective disponible</a></li>
</ul>
<p><strong>3. Renforcement de la portée des tokens pour le proxy de dépendances</strong></p>
<p>GitLab.com | GitLab Self-Managed | GitLab Dedicated</p>
<p>Actuellement, le proxy de dépendances pour les conteneurs accepte les commandes <strong><code>docker login</code></strong> et <strong><code>docker pull</code></strong> en utilisant des tokens <strong>d'accès personnels, de projet</strong> ou <strong>de groupe</strong>, sans vérifier leurs portées.</p>
<p>À partir de GitLab 18.0, il exigera la présence des portées <strong><code>read_registry</code></strong> et <strong><code>write_registry</code></strong> pour valider toute authentification. Après cette modification, les tentatives d'authentification avec des tokens ne disposant pas de ces portées seront <strong>rejetées</strong>.</p>
<p>Avant de procéder à la mise à niveau, vous devez générer de nouveaux tokens avec les <a href="https://docs.gitlab.com/ee/user/packages/dependency_proxy/#authenticate-with-the-dependency-proxy-for-container-images"><strong>portées requises</strong></a>, puis mettre à jour les variables et scripts de vos workflows avec ces nouveaux jetons.</p>
<p>Vous avez également la possibilité d'utiliser <a href="https://gitlab.com/gitlab-com/cs-tools/gitlab-cs-tools/dependancy-token-checker/"><strong>Dependency Token Checker</strong></a>, un script développé par la communauté, qui vous permet de visualiser les tokens et de procéder à leur rotation automatique.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#dependency-proxy-token-scope-enforcement">Avis d'obsolescence</a></li>
</ul>
<h3>Impact modéré</h3>
<p><strong>1. Nouvelles limites de conservation des données relatives aux vulnérabilités sur GitLab.com</strong></p>
<p>GitLab.com - <strong>Réservé aux clients Ultimate</strong></p>
<p>À partir de GitLab 18.1, nous mettrons en place progressivement, sur une période de six mois, une <strong>nouvelle limite de conservation des données</strong> pour les clients de l'édition <strong>GitLab Ultimate</strong> sur GitLab.com, afin d'améliorer les performances et la fiabilité du système. Celle-ci aura une incidence sur la durée de conservation des données relatives aux vulnérabilité.</p>
<p>Les vulnérabilités datant de plus de 12 mois qui n'ont pas été mises à jour seront automatiquement déplacées vers des archives de stockage à froid qui  :</p>
<ul>
<li>restent accessibles et téléchargeables via l'interface utilisateur (UI) de GitLab</li>
<li>sont conservées pendant 3 ans</li>
<li>sont définitivement supprimées après 3 ans</li>
</ul>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#new-data-retention-limits-for-vulnerabilities-on-gitlabcom">Avis d'obsolescence</a></li>
<li><a href="https://handbook.gitlab.com/handbook/security/records-retention-deletion/">Documentation</a></li>
</ul>
<p><strong>2. Rejet des stratégies de pull d'image de conteneur qui ne figurent pas dans <code>allowed_pull_policies</code></strong></p>
<p>GitLab.com | GitLab Self-Managed | GitLab Dedicated</p>
<p>Toutes les stratégies de pull configurées doivent être présentes dans la <a href="https://docs.gitlab.com/runner/executors/docker/#allow-docker-pull-policies"><strong>configuration allowed_pull_policies</strong></a> spécifiée dans le fichier <strong><code>config.toml</code></strong> du runner. Si ce n'est pas le cas, le job devrait échouer avec une erreur de type**<code>incompatible pull policy</code>**.</p>
<p>Actuellement, les jobs ne sont pas rejetés tant qu'au moins une stratégie de pull figure dans <strong><code>allowed-pull-policies</code></strong>, même si d'autres sont exclues.</p>
<p>Dans GitLab 18.0, un job ne sera en échec que si aucune stratégie de pull définie ne figure dans <strong><code>allowed-pull-policies</code></strong>. Toutefois, maintenant, seules les stratégies autorisées dans <strong><code>allowed-pull-policies</code></strong> seront effectivement appliquées. Avec GitLab 18.0, cette distinction risque de provoquer l'échec de jobs qui s'exécutent actuellement avec succès.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#reject-container-image-pull-policies-not-in-allowed_pull_policies">Avis d'obsolescence</a></li>
<li><a href="https://docs.gitlab.com/runner/executors/docker/#allow-docker-pull-policies">Documentation</a></li>
</ul>
<p><strong>3. Fin de la prise en charge de PostgreSQL 14 et 15</strong></p>
<p>GitLab Self-Managed</p>
<p>GitLab suit une <a href="https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/data-access/database-framework/postgresql-upgrade-cadence/"><strong>cadence de mise à niveau annuelle pour PostgreSQL</strong></a>.</p>
<p>La prise en charge de PostgreSQL 14 et 15 sera supprimée dans GitLab 18.0 et PostgreSQL 16 deviendra la version minimale requise.</p>
<p>PostgreSQL 14 et 15 seront pris en charge pendant l'ensemble du cycle de sortie de nouvelles versions de GitLab 17. PostgreSQL 16 sera également pris en charge pour les instances qui souhaitent effectuer une mise à niveau avant la sortie de GitLab 18.0.</p>
<p>Pour anticiper ce changement, les instances qui n'utilisent pas <a href="https://docs.gitlab.com/administration/postgresql/replication_and_failover/"><strong>PostgreSQL Cluster</strong></a> (comme celles installées avec un paquet Omnibus sur une seule instance PostgreSQL), bénéficieront d'une mise à niveau automatique vers PostgreSQL 16 à partir de GitLab 17.11. Si vous utilisez <a href="https://docs.gitlab.com/administration/postgresql/replication_and_failover/"><strong>PostgreSQL Cluster</strong></a> ou si vous <a href="https://docs.gitlab.com/omnibus/settings/database/#opt-out-of-automatic-postgresql-upgrades"><strong>désactivez cette mise à niveau automatique</strong></a>, vous devrez <a href="https://docs.gitlab.com/omnibus/settings/database/#upgrade-packaged-postgresql-server"><strong>effectuer une mise à niveau manuelle vers PostgreSQL 16</strong></a> pour passer à GitLab 18.0. Assurez-vous de disposer de suffisamment d'espace disque pour effectuer la mise à niveau.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#postgresql-14-and-15-no-longer-supported">Avis d'obsolescence</a></li>
<li><a href="https://docs.gitlab.com/omnibus/settings/database/#upgrade-packaged-postgresql-server">Documentation</a></li>
<li><a href="https://docs.gitlab.com/omnibus/development/managing-postgresql-versions/">Instructions pour la migration</a></li>
</ul>
<p><strong>4. Obsolescence des templates CI/CD Terraform</strong></p>
<p>GitLab Self-Managed</p>
<p>Les templates CI/CD Terraform sont déclarés obsolètes et sont supprimés dans GitLab 18.0. Les templates concernés sont les suivants  :</p>
<ul>
<li><code>Terraform.gitlab-ci.yml</code></li>
<li><code>Terraform.latest.gitlab-ci.yml</code></li>
<li><code>Terraform/Base.gitlab-ci.yml</code></li>
<li><code>Terraform/Base.latest.gitlab-ci.yml</code></li>
</ul>
<p>GitLab ne pourra pas mettre à jour le binaire <strong><code>terraform</code></strong> dans les images de job vers une version sous licence Business Source License (BSL).</p>
<p>Pour continuer à utiliser Terraform, clonez les templates et l'<a href="https://gitlab.com/gitlab-org/terraform-images"><strong>image Terraform</strong></a>, et maintenez-les à jour si nécessaire. GitLab fournit des <a href="https://gitlab.com/gitlab-org/terraform-images"><strong>instructions détaillées</strong></a> pour migrer vers une image personnalisée.</p>
<p><strong>À la place, nous vous recommandons d'utiliser le nouveau composant CI/CD OpenTofu sur GitLab.com ou le nouveau template CI/CD OpenTofu sur GitLab Self-Managed.</strong> Les composants CI/CD ne sont pas encore disponibles sur GitLab Self-Managed. Toutefois, le <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/415638"><strong>ticket n° 415638</strong></a> propose d'ajouter cette fonctionnalité. Si les composants CI/CD deviennent disponibles sur GitLab Self-Managed, le template CI/CD OpenTofu sera supprimé.</p>
<p>En savoir plus sur le nouveau <a href="https://gitlab.com/components/opentofu">composant CI/CD OpenTofu</a>.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#deprecate-terraform-cicd-templates">Avis d'obsolescence</a></li>
</ul>
<p><strong>5. Mise à jour majeure du sous-chart Prometheus</strong></p>
<p>GitLab Self-Managed</p>
<p>Avec GitLab 18.0 et le chart GitLab 9.0, le sous-chart Prometheus sera mis à jour de la version 15.3 à la version 27.3.</p>
<p>Avec cette mise à jour, Prometheus 3 sera livré par défaut.</p>
<p>Vous devrez effectuer certaines étapes manuelles pour effectuer la mise à niveau. Si Alertmanager, Node Exporter ou Pushgateway sont activés, vous devrez également mettre à jour vos valeurs Helm.</p>
<p>Veuillez vous référer au <a href="https://docs.gitlab.com/charts/releases/9_0/#prometheus-upgrade"><strong>guide sur la migration</strong></a> pour plus d'informations.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#major-update-of-the-prometheus-subchart">Avis d'obsolescence</a></li>
</ul>
<h3>Impact faible</h3>
<p><strong>1. Arrêt de la compilation des paquets SUSE Linux Enterprise Server 15 SP2</strong></p>
<p>GitLab Self-Managed</p>
<p>Le version avec service et support à long terme (LTSS) pour SUSE Linux Enterprise Server (SLES) 15 SP2 a pris fin en décembre 2024.</p>
<p>Par conséquent, nous ne prendrons plus en charge la distribution de SLES SP2 pour les installations de paquets Linux. Veuillez effectuer une mise à niveau vers SLES 15 SP6 pour bénéficier d'une prise en charge continue.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#support-for-suse-linux-enterprise-server-15-sp2">Avis d'obsolescence</a></li>
</ul>
<p><strong>2. Suppression du limiteur de débit Gitaly</strong></p>
<p>GitLab Self-Managed</p>
<p>Auparavant, Gitaly prenait en charge la <a href="https://gitlab.com/gitlab-org/gitaly/-/blob/4b7ea24f6172a03e7989879200b47b6fd0e2d059/doc/backpressure.md#L55-55"><strong>limitation de débit basée sur RPC</strong></a>. Nous rendons aujourd'hui cette fonctionnalité obsolète, car elle ne donne pas les résultats escomptés. Veuillez consulter le ticket relatif à l'obsolescence pour plus de détails.</p>
<p>Si vous avez procédé à la configuration du limiteur de débit (bientôt obsolète), aucune erreur ne sera renvoyée et celle-ci sera simplement ignorée.</p>
<p>À la place, vous devez utiliser le <a href="https://docs.gitlab.com/administration/gitaly/concurrency_limiting/"><strong>limiteur de simultanéité</strong></a>.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#gitaly-rate-limiting">Avis d'obsolescence</a></li>
</ul>
<p><strong>3. Obsolescence de la prise en charge de l'image du contrôleur NGINX 1.3.1</strong></p>
<p>GitLab Self-Managed</p>
<p>Nous passons à la version 1.11.2 du contrôleur NGINX par défaut, laquelle impose de nouvelles règles de contrôle d'accès basé sur les rôles (RBAC). Les utilisateurs qui utilisent <strong>nginx-ingress.rbac.create: false</strong> pour gérer leurs propres règles RBAC</p>
<p>devront les mettre à jour avant de migrer vers la version 1.11.2 ou une version ultérieure. Un mécanisme alternatif permet désormais de déployer la version 1.3.1 uniquement si la valeur Helm est définie comme indiqué ci-dessus. Par ailleurs, nous avons ajouté la valeur <strong>nginx-ingress.controller.image.disableFallback</strong>, qui est définie par défaut sur « false ». Si vous gérez vos propres règles RBAC, vous pouvez définir cette valeur sur « true » une fois les nouvelles règles en place, afin de permettre le déploiement de la version 1.11.2.</p>
<p>La version 17.5 marquera la fin de la prise en charge de l'image 1.3.1 et du mécanisme alternatif, afin de généraliser l'utilisation de la version 1.11.2, plus sécurisée.</p>
<p><a href="https://docs.gitlab.com/update/deprecations/#fallback-support-for-gitlab-nginx-chart-controller-image-v131">Avis d'obsolescence</a></p>
<p><strong>4. Mise à jour de la version majeure des analyseurs de tests de sécurité des applications</strong></p>
<p>GitLab.com | GitLab Self-Managed | GitLab Dedicated</p>
<p>Avec GitLab 18.0, les analyseurs utilisés pour les tests de sécurité des applications passeront à de nouvelles versions majeures.</p>
<p>Si vous n'utilisez pas les templates inclus par défaut ou si vous avez épinglé vos versions d'analyseur, pensez à mettre à jour votre job CI/CD en retirant la version épinglée ou en passant à la dernière version majeure.</p>
<p>Jusqu'à GitLab 18.0, les analyseurs seront toujours mis à jour sur les versions 17.0 à 17.11. Ensuite, seuls les analyseurs de la nouvelle version majeure bénéficieront des correctifs et des nouvelles fonctionnalités.</p>
<p>Conformément à notre politique de maintenance, nous ne rétroportons pas les bogues ni les nouvelles fonctionnalités vers les versions obsolètes. Seuls les correctifs de sécurité peuvent être appliqués aux trois dernières versions mineures.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#application-security-testing-analyzers-major-version-update">Avis d'obsolescence</a></li>
</ul>
<p><strong>5. API Discovery utilisera les pipelines de branche par défaut</strong></p>
<p>GitLab.com | GitLab Self-Managed | GitLab Dedicated</p>
<p>Dans GitLab 18.0, nous mettrons à jour le comportement par défaut du template CI/CD pour API Discovery (<strong>API-Discovery.gitlab-ci.yml</strong>).</p>
<p>Jusqu'à GitLab 18.0, il configurait par défaut les jobs pour qu'ils s'exécutent dans des <a href="https://docs.gitlab.com/ci/pipelines/merge_request_pipelines/"><strong>pipelines de merge requests (MR)</strong></a> dès l'ouverture d'une MR.</p>
<p>Dès GitLab 18.0, ce template adoptera le même comportement que les <a href="https://docs.gitlab.com/user/application_security/detect/roll_out_security_scanning/#template-editions"><strong>éditions stables de templates</strong></a> des autres scanners d'arbre de syntaxe abstraite (AST) :</p>
<ul>
<li>Par défaut, le template exécutera des jobs de scan dans les pipelines de branche.</li>
<li>Vous pourrez définir la variable CI/CD <strong>AST_ENABLE_MR_PIPELINES: true</strong> pour utiliser les pipelines MR lors de l'ouverture d'une MR. Le suivi de la mise en œuvre de cette variable est disponible via le <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/410880"><strong>ticket n° 410880</strong></a>.</li>
</ul>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#api-discovery-will-use-branch-pipelines-by-default">Avis d'obsolescence</a></li>
</ul>
<p><strong>6. Réduction par défaut de la valeur du DAST DAST_DEVTOOLS_API_TIMEOUT</strong></p>
<p>GitLab.com | GitLab Self-Managed | GitLab Dedicated</p>
<p>La variable d'environnement <strong>DAST_DEVTOOLS_API_TIMEOUT</strong> détermine la durée pendant laquelle un test dynamique de sécurité des applications (DAST) attend une réponse du navigateur. Avant GitLab 18.0, la variable avait une valeur statique de 45 secondes. Dès GitLab 18.0, la variable d'environnement <strong>DAST_DEVTOOLS_API_TIMEOUT</strong> aura une valeur dynamique, calculée en fonction d'autres configurations de délai d'attente dépassé.</p>
<p>Dans la plupart des cas, la valeur de 45 secondes était supérieure à la valeur du délai d'attente dépassé de nombreuses fonctions du scanner. Le passage à un calcul dynamique permet d'adapter la variable <strong>DAST_DEVTOOLS_API_TIMEOUT</strong> à un plus grand nombre de situations.</p>
<ul>
<li><a href="https://docs.gitlab.com/update/deprecations/#dast-dast_devtools_api_timeout-will-have-a-lower-default-value">Avis d'obsolescence</a></li>
</ul>
<h2>Outils et ressources pour gérer l'impact sur votre environnement</h2>
<p>Nous avons développé des outils spécifiques pour aider nos clients à comprendre l'impact de ces changements planifiés sur leur(s) instance(s) GitLab. Après avoir évalué l'impact sur votre projet, consultez les mesures d'atténuation décrites dans la documentation pour assurer une transition fluide vers GitLab 18.0.</p>
<ul>
<li><a href="https://gitlab.com/gitlab-com/cs-tools/gitlab-cs-tools/deprecation-migration-tools/advanced-search-deprecations">Obsolescence de la recherche avancée</a> : cet outil s'appuie sur l'API de recherche avancée de GitLab pour repérer les chaînes liées aux obsolescences dans vos groupes et projets, et signale aussi les fichiers nécessitant une vérification manuelle. <em><strong>Remarque :</strong> peut comporter des faux positifs.</em></li>
<li><a href="https://gitlab.com/security-products/tooling/build-support-detection-helper">Assistant de détection de prise en charge de la compilation pour l'analyse des dépendances</a> : cet outil détecte les projets concernés par trois obsolescences liées à l'analyse des dépendances (<a href="https://docs.gitlab.com/update/deprecations/#dependency-scanning-for-javascript-vendored-libraries">1</a>, <a href="https://docs.gitlab.com/update/deprecations/#dependency-scanning-upgrades-to-the-gitlab-sbom-vulnerability-scanner">2</a>, <a href="https://docs.gitlab.com/update/deprecations/#resolve-a-vulnerability-for-dependency-scanning-on-yarn-projects">3</a> ; toutes reportées à la version 19.0) et s'appuie sur l'API pour analyser les fichiers et les nom de jobs CI.</li>
<li><a href="https://gitlab.com/gitlab-com/support/toolbox/gitlab-detective/-/blob/main/README.md">GitLab Detective</a> (GitLab Auto-géré uniquement) : cet outil expérimental analyse automatiquement votre installation GitLab pour détecter les problèmes connus, en s'appuyant sur des vérifications poussées des fichiers de configuration et valeurs issues de la base de données. <strong>Remarque :</strong> l’outil doit s'exécuter directement sur vos nœuds GitLab.</li>
</ul>
<p>Pour vous accompagner dans cette transition, nous avons lancé sur GitLab University des micro-cours pratiques (de 15 minutes maximum) dédiés à la préparation et à la mise en œuvre des actions d'atténuation nécessaires. <a href="https://university.gitlab.com/catalog?query=18.0">Commencez votre parcours d'apprentissage ici</a>.</p>
<p>Si vous disposez d'un forfait payant et que vous avez des questions ou besoin d'aide concernant ces changements, veuillez <a href="https://about.gitlab.com/support/portal/">créer un ticket d'assistance</a> sur le portail d'assistance GitLab.</p>
<p>Si vous utilisez la <a href="https://about.gitlab.com/support/statement-of-support/#free-users">version gratuite de Gitlab.com</a>, vous pouvez obtenir de l'aide via les ressources communautaires : <a href="https://docs.gitlab.com/">documentation GitLab</a>, <a href="https://forum.gitlab.com/">forum de la communauté GitLab</a> et <a href="http://stackoverflow.com/questions/tagged/gitlab">Stack Overflow</a>.</p>
]]></content>
        <author>
            <name>Martin Brümmer</name>
            <uri>https://about.gitlab.com/blog/authors/martin-brümmer</uri>
        </author>
        <author>
            <name>Fabian Zimmer</name>
            <uri>https://about.gitlab.com/blog/authors/fabian-zimmer</uri>
        </author>
        <author>
            <name>Sam Wiskow</name>
            <uri>https://about.gitlab.com/blog/authors/sam-wiskow</uri>
        </author>
        <published>2025-04-18T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo combiné à Amazon Q : l'IA agentique optimisée pour AWS est désormais disponible à tous les utilisateurs]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/"/>
        <updated>2025-04-17T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Nous sommes ravis d'annoncer aujourd'hui la disponibilité générale de <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/aws/">GitLab Duo combiné à Amazon Q</a>, qui fournit une IA agentique tout au long du cycle de développement logiciel aux clients AWS. Basé sur GitLab Ultimate, GitLab Duo combiné à Amazon Q inclut de nombreuses fonctionnalités, telles que la complétion de code, l'explication de code, la génération de code, le chat, ainsi que l'explication et la résolution des vulnérabilités, qui sont désormais toutes optimisées par Amazon Q. Cette solution est disponible dans le cadre d'un modèle de déploiement GitLab Self-Managed pour les clients sur AWS.</p>
<p>Les agents d'Amazon Q étant directement intégrés à la plateforme DevSecOps de GitLab, les développeurs peuvent continuer à utiliser leur environnement de développement habituel tout en bénéficiant de puissantes fonctionnalités d'IA. Le résultat ? Une expérience fluide qui permet d'accélérer les cycles de développement, de réduire les tâches manuelles et d'améliorer la qualité du code.</p>
<p>« Le programme d'accès anticipé de GitLab Duo combiné à Amazon Q nous a permis de découvrir tout le potentiel de transformation de cette solution pour nos workflows de développement », explique Osmar Alonso, ingénieur DevOps chez Volkswagen Digital Solutions. « Même lors de la phase d'amorçage, nous avons vu comment une intégration plus avancée d'agents autonomes pouvait rationaliser notre processus, de la validation du code à la production. Nous avons hâte de découvrir comment cette technologie va nous permettre de nous concentrer sur l'innovation et d'accélérer notre transformation digitale. »</p>
<h2>L'IA agentique s'invite dans les environnements clients complexes</h2>
<p>En combinant l'IA agentique avec une infrastructure cloud sécurisée et fiable, GitLab et AWS apportent une sécurité, une évolutivité et une fiabilité intégrées aux environnements clients complexes, ce qui se traduit par de nombreux avantages :</p>
<p><strong>Une expérience de développement unifiée pour un développement rationalisé</strong></p>
<p>Les développeurs peuvent interagir avec Amazon Q via l'interface GitLab Duo Chat à partir de leur environnement de développement intégré (IDE) préféré ou de l'interface Web GitLab. Les utilisateurs n'ont ainsi pas besoin de changer de contexte pour utiliser d'autres outils et peuvent rester concentrés sur le projet en cours.</p>
<p><strong>Une solution unique pour l'ensemble du cycle de développement logiciel</strong></p>
<p>Les suggestions et optimisations de code exploitent les modèles et pratiques spécifiques à AWS, tandis que les outils de test comprennent les interactions et les dépendances des services AWS. Un magasin de données commun à toutes les étapes fournit un contexte essentiel aux agents d'IA, permettant une visibilité et une traçabilité complètes pour les actions pertinentes.</p>
<p><strong>Un développement sécurisé avec des garde-fous à l'échelle de l'entreprise</strong></p>
<p>La sécurité et la conformité tout au long du cycle de développement logiciel sont intégrées directement dans la plateforme de développement avec des garde-fous qui aident à réduire les risques sans entraver la vélocité du développement. Cette approche sécurisée du développement logiciel garantit la transparence et l'auditabilité grâce aux agents d'IA, tout en s'intégrant de façon homogène aux services liés à la sécurité et aux frameworks de conformité d'AWS.</p>
<h2>Comment utiliser GitLab Duo combiné à Amazon Q ?</h2>
<p>Voici cinq cas d'utilisation initiaux que nous ciblons pour aider les équipes à créer plus rapidement des logiciels sécurisés avec une IA agentique :</p>
<ol>
<li><strong>Accélération du développement des fonctionnalités</strong> : créez des descriptions dans les tickets, générez des plans de mise en œuvre en fonction de votre code base existant et produisez des merge requests complètes prêtes pour la vérification. Vous accélérez ainsi la livraison des fonctionnalités tout en appliquant vos normes de développement internes.</li>
<li><strong>Modernisation des applications existantes</strong> : analysez votre code base Java existant, créez un plan de mise à niveau complet et générez des merge requests contenant toutes les modifications de code nécessaires. Cela permet de réduire le temps de mise à niveau de Java, tout en maintenant une piste d'audit claire de toutes les transformations de code. La prise en charge de .NET et d'autres langages est prévue pour les prochaines versions.</li>
<li><strong>Amélioration de l'assurance qualité</strong> : analysez le code et créez automatiquement des tests unitaires complets qui comprennent la logique de votre application et les interactions avec les services AWS. Vous pouvez ainsi augmenter la couverture des tests, réduire les tâches manuelles de rédaction des tests et contribuer à assurer une qualité de test constante pour toutes les applications.</li>
<li><strong>Optimisation de la revue de code</strong> : insérez des commentaires inline sur les modifications de code, suggérez des améliorations basées sur les normes de développement, mettez en évidence les considérations de sécurité et de performances. Vous pouvez ainsi réduire les cycles de revue de code et fournir des merges de code de meilleure qualité pour le déploiement.</li>
<li><strong>Correction des vulnérabilités</strong> : expliquez les vulnérabilités détectées de façon claire et détaillée, puis corrigez-les en un seul clic en fonction des modifications de code recommandées, ce qui contribue à réduire considérablement le délai entre la détection des failles et leur correction.</li>
</ol>
<p>Découvrez GitLab Duo combiné à Amazon Q en action :</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1075753390?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;Technical Demo: GitLab Duo with Amazon Q&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<blockquote>
<h4>Profitez dès aujourd'hui des avantages de GitLab Duo combiné à Amazon Q</h4>
<p>La combinaison de la plateforme DevSecOps unifiée de GitLab alimentée par l'IA et des fonctionnalités d'IA avancées d'Amazon Q offre aux clients AWS une solution qui transforme la façon dont les équipes créent et déploient les logiciels. Pour en savoir plus sur GitLab Duo combiné à Amazon Q, n'hésitez pas à nous retrouver à l'occasion d'un <a href="https://about.gitlab.com/fr-fr/events/aws-summits/">AWS Global Summit dans votre région</a> ou à <a href="https://about.gitlab.com/fr-fr/partners/technology-partners/aws/#form">contacter votre représentant GitLab</a>.</p>
</blockquote>
]]></content>
        <author>
            <name>Emilio Salvador</name>
            <uri>https://about.gitlab.com/blog/authors/emilio-salvador</uri>
        </author>
        <published>2025-04-17T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Open source : définition, avantages et défis]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/what-is-open-source/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/"/>
        <updated>2025-04-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Basé sur des principes fondamentaux tels que l'ouverture, le partage des connaissances et l'amélioration continue, l'open source révolutionne le monde du développement logiciel. En réunissant des développeurs du monde entier, l'open source crée un environnement propice à l'innovation, où les idées et les solutions émergent grâce à la diversité des contributions.</p>
<p>Découvrez dans cet article les principes fondamentaux du développement <a href="https://about.gitlab.com/fr-fr/solutions/open-source/" title="Solutions GitLab pour les projets open source">open source</a>.</p>
<h2>Qu’est-ce que l’open source ?</h2>
<p>L'open source est un modèle de développement fondé sur la transparence et la collaboration. Contrairement aux logiciels propriétaires, où seul le détenteur des droits peut modifier le code source ou redistribuer le produit, l'open source rend ce code accessible à tous. Les développeurs du monde entier peuvent ainsi l'examiner, l'améliorer et le partager librement, favorisant l'innovation et le progrès collectif.</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/" title="Essai gratuit de GitLab Ultimate">
Essayez GitLab Ultimate gratuitement pendant 60 jours</a> et commencez à développer des logiciels open source dès aujourd'hui.</p>
</blockquote>
<h2>Quels sont les avantages de l'open source ?</h2>
<p>Bien plus qu'une alternative technologique, l'open source est un modèle offrant de nombreux avantages. Réduction des coûts, accélération de l'innovation, meilleure sécurité des logiciels, ou encore personnalisation, sont autant d'atouts qui peuvent transformer les projets et stimuler la croissance des entreprises.</p>
<h3>Des coûts réduits</h3>
<p>À l'opposé des solutions propriétaires parfois onéreuses, les logiciels open source se distinguent souvent par leur faible coût, vous dispensant des dépenses traditionnellement associées aux licences et au support technique. Chez GitLab par exemple, les utilisateurs ont la possibilité d’utiliser gratuitement <a href="https://about.gitlab.com/fr-fr/install/ce-or-ee/" title="GitLab Community Edition (CE)">GitLab Community Edition (CE)</a> qui est open source.</p>
<h3>Une meilleure transparence</h3>
<p>L'accès au code source permet à qui le souhaite d'examiner, de modifier et d'améliorer les logiciels. Pour les développeurs, cette transparence facilite leur compréhension des logiciels, de la manière dont ils sont construits et des failles de sécurité potentielles qu'ils peuvent contenir. Par exemple, le code source de GitLab est disponible publiquement sur GitLab.com et offre aux utilisateurs l'opportunité d’inspecter le code, de comprendre son fonctionnement et même de contribuer activement à son développement.</p>
<h3>Des logiciels personnalisables</h3>
<p>L'open source offre aux entreprises la possibilité d'adapter leurs logiciels à leurs besoins spécifiques, là où les solutions propriétaires limitent souvent cette liberté. Grâce à leur nature modulable, les logiciels open source permettent d'optimiser l'efficacité opérationnelle en s'adaptant précisément aux besoins des entreprises. GitLab illustre cette flexibilité en offrant à tous la possibilité de contribuer de façon traditionnelle, et en offrant également aux entreprises la possibilité de développer des intégrations et des fonctionnalités sur mesure grâce à son <a href="https://about.gitlab.com/community/co-create/" title="Programme Co-Create">programme Co-Create</a>.</p>
<h3>Une communauté engagée</h3>
<p>Les projets open source reposent sur l'engagement d'une communauté qui partage ses connaissances pour résoudre des problèmes ou proposer des améliorations sur les logiciels. GitLab <a href="https://about.gitlab.com/community/" title="Communauté de GitLab">tire pleinement parti de cet écosystème</a> en s'appuyant sur une base d'utilisateurs et de développeurs qui enrichissent activement son développement et <a href="https://forum.gitlab.com/" title="Forum de GitLab">partagent leur expertise</a>. GitLab collabore également avec d'autres entreprises sur des projets open source comme Git, renforçant son engagement pour l'innovation collective et la création de solutions évolutives.</p>
<h3>Un accélérateur d’innovations</h3>
<p>En réunissant des talents du monde entier autour de projets communs, l'open source devient un puissant moteur d'innovation. Cette synergie stimule l'amélioration continue et l'enrichissement des logiciels grâce à la diversité des compétences partagées. Ce modèle accélère ainsi le développement technologique en rendant les outils open source accessibles à un large public. GitLab, avec son cycle de release mensuel, <a href="https://about.gitlab.com/releases/" title="Releases GitLab">intègre régulièrement de nouvelles fonctionnalités et améliorations</a> fondées sur les retours et contributions de sa communauté d'utilisateurs.</p>
<h3>Des logiciels évolutifs</h3>
<p>Les logiciels open source reposent souvent sur des normes ouvertes qui <a href="https://about.gitlab.com/fr-fr/integrations/" title="Intégrations GitLab">simplifient leur intégration avec d'autres systèmes</a>. Conçus pour s'adapter à divers environnements, ils offrent aux entreprises la possibilité de créer des solutions sur mesure, performantes et évolutives.</p>
<h3>Une sécurité logicielle renforcée</h3>
<p>La sécurité et la fiabilité sont des piliers essentiels des logiciels open source. Grâce à l'examen continu du code par une large communauté de développeurs, les failles de sécurité sont rapidement identifiées et corrigées. Bien que cette approche ne garantisse pas une sécurité absolue, elle favorise grandement la réactivité des équipes de développement face aux vulnérabilités de toutes sortes. GitLab applique ce principe en <a href="https://handbook.gitlab.com/handbook/security/product-security/application-security/runbooks/hackerone-process/">s'appuyant sur sa communauté pour renforcer la sécurité de sa plateforme</a>.</p>
<h3>Un savoir-faire enrichi</h3>
<p>Les logiciels open source représentent une mine d'opportunités d'apprentissage pour les développeurs. En s'impliquant dans ces projets, ils peuvent perfectionner leurs compétences et gagner en expérience auprès d'autres professionnels du domaine, enrichissant leur savoir-faire et accélérant leur développement professionnel.</p>
<p>Par exemple, les développeurs peuvent étudier la base de code de GitLab pour apprendre les meilleures pratiques en matière de développement de plateformes DevSecOps. Les membres de l'équipe GitLab participent par ailleurs à des programmes de mentorat comme <a href="https://about.gitlab.com/blog/google-summer-of-code-2024-contribute-to-gitlab-and-git-to-prepare/" title="Google Summer of Code">Google Summer of Code</a> et <a href="https://about.gitlab.com/blog/outreachy-sponsorship-winter-2020/" title="Outreachy">Outreachy</a> qui permettent d'apprendre aux nouveaux participants comment contribuer à GitLab ou autres logiciels open source comme Git.</p>
<h3>Des logiciels plus qualitatifs</h3>
<p>De nombreux projets open source bénéficient de la contribution de développeurs talentueux. Grâce à leur expertise, le code des logiciels open source est constamment examiné, amélioré et renforcé, ce qui permet de développer des solutions robustes et performantes.</p>
<h2>Quels sont les défis liés à l’open source</h2>
<p>Explorer l'univers des logiciels open source peut être aussi stimulant qu'exigeant. De la création de relations solides avec une communauté au renforcement de la sécurité des projets, chaque étape comporte ses propres défis. Pour réussir, il est essentiel de comprendre ces obstacles et de mettre en place des stratégies adaptées.</p>
<h3>Construire une relation solide avec sa communauté</h3>
<p>Le succès du développement open source repose sur la capacité à établir et à maintenir une relation solide avec une communauté de développeurs et d'utilisateurs. Cela nécessite des échanges continus afin de comprendre et de répondre à ses attentes. Puisque la majorité des contributeurs sont bénévoles, il est essentiel de coordonner leurs efforts de manière agile et structurée.</p>
<p>Pour maintenir leur motivation sur le long terme, notamment pour les contributeurs œuvrant sans contrepartie financière, il est crucial de reconnaître et de valoriser leur travail. Cela peut passer par des mentions officielles (crédits), des opportunités de formation ou d'autres formes de reconnaissances professionnelles. Sans cette valorisation, les contributeurs risquent de se détourner des projets, voire de créer des initiatives parallèles. Bâtir une communauté engagée et durable est donc au cœur du succès de tout projet open source.</p>
<h3>Trouver un équilibre entre les intérêts de la communauté et celle des entreprises</h3>
<p>Trouver un équilibre entre les intérêts des entreprises et ceux de la communauté est un défi central dans le développement open source. Les entreprises impliquées dans ces projets ont généralement des objectifs prioritaires. Ces priorités, souvent commerciales, peuvent entrer en conflit avec les attentes plus larges de la communauté, dont les intérêts sont plutôt axés sur l'innovation libre ou la personnalisation des logiciels.</p>
<p>Lorsque les décisions semblent trop axées sur les intérêts de l'entreprise, la communauté risque de se sentir exclue, ce qui peut réduire son engagement et limiter ses contributions. Pour éviter ce désengagement, les entreprises doivent partager clairement leurs objectifs et échanger régulièrement avec leur communauté pour garantir la pérennité et le succès à long terme des projets open source.</p>
<h3>Maintenir la sécurité des logiciels</h3>
<p>Les logiciels open source sont exposés à certains défis en matière de sécurité. La transparence du code, bien qu'étant l'un de leurs plus grands atouts, peut aussi les exposer à des attaques ciblées, ce qui peut devenir un risque majeur si l'entreprise à l’origine du projet open source ne corrige pas rapidement les failles identifiées.</p>
<p>Les utilisateurs comptent ainsi sur la réactivité de l'entreprise pour garantir la sécurité de leurs systèmes et de leurs données.</p>
<h2>GitLab : un partenaire incontournable pour les projets open source</h2>
<p>Les projets open source sont un moteur d'innovation technologique, et choisir la bonne plateforme pour les héberger est essentiel. Grâce à son système de gestion de versions basé sur <a href="https://about.gitlab.com/fr-fr/blog/what-is-git/" title="Qu'est-ce que Git ? ">Git</a>, GitLab permet aux équipes de développement de collaborer efficacement, de suivre les modifications de code et de conserver un historique complet de leurs projets.</p>
<h3>Une suite complète de fonctionnalités collaboratives</h3>
<p>GitLab met à disposition de ses utilisateurs une suite complète de fonctionnalités adaptées au développement et à la gestion de projets open source. Parmi ces fonctionnalités figurent le <a href="https://docs.gitlab.com/ee/user/project/issues/" title="Tickets GitLab">suivi des tickets</a>, les <a href="https://docs.gitlab.com/ee/user/project/merge_requests/" title="merge requests">merge requests</a>, la <a href="https://about.gitlab.com/fr-fr/topics/version-control/what-is-code-review/" title="Qu'est-ce qu'une revue de code ? ">revue de code</a>, les <a href="https://about.gitlab.com/fr-fr/blog/get-to-know-the-gitlab-wiki-for-effective-knowledge-management/" title="GitLab Wiki">wikis</a> et les <a href="https://about.gitlab.com/fr-fr/blog/build-a-new-website-in-a-few-easy-steps-with-gitlab-pages/" title="GitLab Pages">GitLab Pages</a>. Ces fonctionnalités permettent aux équipes de suivre l'évolution des projets, de collaborer, de proposer des améliorations, de corriger des bogues et de documenter leurs progrès en temps réel.</p>
<h3>Des pratiques CI/CD au service des projets open source</h3>
<p>Les fonctionnalités <a href="https://about.gitlab.com/fr-fr/blog/how-to-keep-up-with-ci-cd-best-practices/" title="Meilleures pratiques CI/CD">CI/CD</a> de GitLab sont un atout majeur pour les projets open source. Elles automatisent des étapes clés du développement logiciel, comme les <a href="https://docs.gitlab.com/ee/ci/testing/">tests</a>, la validation du code et le déploiement de nouvelles versions, assurant ainsi une meilleure fiabilité des logiciels open source et un développement accéléré. Chaque contribution est automatiquement testée dans un environnement dédié, ce qui permet de détecter rapidement les erreurs et de corriger les bogues. Cela réduit les risques de défaillances tout en assurant la stabilité des projets.</p>
<h3>Un cycle de développement logiciel sécurisé</h3>
<p>GitLab propose une suite complète de fonctionnalités conçues pour aider les développeurs de projets open source à sécuriser leurs logiciels. Parmi ces fonctionnalités, nous retrouvons :</p>
<ul>
<li><strong>Le test statique de sécurité des applications (<a href="https://docs.gitlab.com/ee/user/application_security/sast/" title="SAST">SAST</a>)</strong> qui examine le code source à la recherche de failles de sécurité en amont de la mise en service des logiciels.</li>
<li><strong>Le test dynamique de sécurité des applications (<a href="https://docs.gitlab.com/ee/user/application_security/dast/" title="DAST">DAST</a>)</strong>* qui teste les applications en cours d'exécution au sein d’un environnement déployé pour détecter d'éventuelles vulnérabilités encore non repérées.</li>
<li><strong>L'<a href="https://docs.gitlab.com/ee/user/application_security/dependency_scanning/" title="Analyse des dépendances">analyse des dépendances</a></strong>* qui envoie des alertes sur les bibliothèques obsolètes ou vulnérables. Des rapports détaillés sont générés à chaque étape du développement, offrant une visibilité claire sur l'état de la sécurité du projet. Grâce à cela, les développeurs peuvent rapidement éviter ou corriger les composants à risque.</li>
</ul>
<p>** Fonctionnalité disponible uniquement pour les utilisateurs de GitLab Ultimate.*</p>
<p>En intégrant ces fonctionnalités directement dans le <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/" title="Pipeline CI/CD">pipeline CI/CD</a>, GitLab réduit le risque d'erreurs humaines et accélère l’identification et la correction des vulnérabilités. Cette approche permet ainsi aux développeurs de projets open source de maintenir un niveau élevé de sécurité tout au long du cycle du développement logiciel.</p>
<h3>Une gestion de projet Agile</h3>
<p>GitLab met à disposition des équipes de développement un certain nombre de fonctionnalités pour faciliter la gestion des projets open source comme les <a href="https://docs.gitlab.com/ee/user/project/issue_board.html" title="Tableaux de tickets">tableaux de tickets</a>, les <a href="https://docs.gitlab.com/ee/user/project/milestones/" title="Listes des jalons">listes des jalons</a> ou encore le <a href="https://docs.gitlab.com/ee/user/project/time_tracking.html" title="Suivi du temps">suivi du temps</a>. Ces dernières permettent de voir facilement les tâches à réaliser, de suivre l'avancement des projets en fixant des échéances claires, mais aussi d’évaluer la charge de travail en vue d'optimiser l'utilisation des ressources. En combinant ces fonctionnalités, GitLab permet aux équipes de mieux coordonner leurs efforts, de maintenir un processus de travail fluide et de progresser efficacement dans la réalisation de leurs projets open source.</p>
<h3>Des contributions simplifiées</h3>
<p>Les équipes de développement peuvent facilement contribuer au développement de projets open source en les dupliquant (<a href="https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html" title="fork">fork</a>) et en créant des merge requests. Elles peuvent créer leurs propres copies du code, travailler sur des améliorations ou des correctifs dans des branches distinctes, puis soumettre leurs changements via des merge requests. Ce processus permet aux équipes de réviser et de valider chaque modification avant son intégration dans la branche principale, favorisant ainsi une amélioration continue des logiciels, tout en renforçant la qualité et la stabilité du code.</p>
<h3>Une intégration facilité avec d’autres outils</h3>
<p>GitLab facilite considérablement son intégration avec d’autres outils et workflows , permettant aux équipes de développement de créer un environnement personnalisé en fonction des exigences spécifiques de leur projet. Pour en savoir plus, <a href="https://docs.gitlab.com/ee/api/">consultez notre documentation</a>.</p>
<h2>Développez des logiciels open source avec GitLab</h2>
<p>L’open source continue de s'imposer dans le monde du développement logiciel. Avec des plateformes <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que DevSecOps ?">DevSecOps</a> comme GitLab, les équipes de développement disposent de tous les outils et ressources nécessaires au bon développement de leurs logiciels open source.</p>
<p>En plus d’aider les entreprises à développer des logiciels performants et sécurisés, GitLab fait évoluer continuellement sa plateforme grâce aux contributions et aux retours de ses utilisateurs. En écoutant sa communauté en permanence, GitLab s'adapte aux transformations du développement logiciel, renforçant ainsi sa présence au sein de l'écosystème open source.</p>
<blockquote>
<p><a href="https://about.gitlab.com/fr-fr/free-trial/devsecops/" title="Essai gratuit de GitLab Ultimate">
Essayez GitLab Ultimate gratuitement pendant 60 jours</a> et commencez à développer des logiciels open source dès aujourd'hui.</p>
</blockquote>
]]></content>
        <author>
            <name>GitLab France Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-france team</uri>
        </author>
        <published>2025-04-16T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Git : 20 ans d'histoire]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/journey-through-gits-20-year-history/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/journey-through-gits-20-year-history/"/>
        <updated>2025-04-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Le projet <a href="https://about.gitlab.com/fr-fr/blog/what-is-git/" title="Qu'est-ce que Git ? ">Git</a> vient de fêter ses 20 ans et depuis, bien des choses ont changé : si le design conceptuel de Git est resté globalement le même, la manière dont les utilisateurs s'en servent, elle, a considérablement évolué. Git est au cœur de notre travail chez GitLab et nous sommes fiers d'être liés à son histoire.</p>
<p>Remontez le temps avec nous pour retracer les grandes étapes de son évolution.</p>
<h2>Le premier commit</h2>
<p>Le premier commit a été effectué le 7 avril 2005 par Linus Torvalds, le créateur du noyau Linux : <code>e83c5163316 (Initial revision of &quot;git&quot;, the information manager from hell, 2005-04-07)</code>.</p>
<p>Comme vous pouvez le constater, ce commit ne contient pas beaucoup de fichiers :</p>
<pre><code class="language-shell">$ git ls-tree e83c5163316
100644 blob a6bba79ba1f46a1bbf7773449c3bd2bb9bf48e8b	Makefile
100644 blob 27577f76849c09d3405397244eb3d8ae1d11b0f3	README
100644 blob 98a32a9ad39883c6d05a000a68511d4b1ee2b3c7	cache.h
100644 blob 74a0a234dd346fff51c773aa57d82fc4b83a8557	cat-file.c
100644 blob 840307af0cfaab31555795ce7175d5e9c9f981a0	commit-tree.c
100644 blob 25dc13fe101b219f74007f3194b787dd99e863da	init-db.c
100644 blob c924a6e0fc4c36bad6f23cb87ee59518c771f936	read-cache.c
100644 blob 1b47742d8cbc0d98903777758b7b519980e7499e	read-tree.c
100644 blob b8522886a15db861508fb6d03d4d88d6de912a4b	show-diff.c
100644 blob 5085a5cb53ee52e1886ff6d46c609bdb2fc6d6cd	update-cache.c
100644 blob 921f981353229db0c56103a52609d35aff16f41b	write-tree.c
</code></pre>
<p>Outre l'infrastructure de compilation, le premier commit fournit sept commandes principales :</p>
<ul>
<li><code>init-db</code> pour initialiser un nouveau dépôt Git</li>
<li><code>update-cache</code> pour ajouter des fichiers à l'index</li>
<li><code>write-tree</code> pour créer un nouvel arbre à partir des éléments de l'index</li>
<li><code>read-tree</code> pour lire un objet arbre</li>
<li><code>commit-tree</code> pour créer un commit à partir d'un arbre</li>
<li><code>cat-file</code> pour lire un objet spécifique dans un fichier temporaire</li>
</ul>
<p>Notez que la commande <code>git</code> n'existait pas encore à ce moment-là. Il fallait dès lors les exécuter directement.</p>
<p>Pour vous montrer un exemple concret, créons un nouveau dépôt :</p>
<pre><code class="language-shell">$ mkdir repo
$ cd repo
$ init-db
defaulting to private storage area
$ ls -a
.  ..  .dircache
</code></pre>
<p>Cela peut surprendre : il n'y a pas de répertoire <code>.git</code>, mais un répertoire <code>.dircache</code>. Ce dernier représentait une zone de stockage privée.</p>
<p>Git distinguait alors deux types d'espaces de stockage des objets : un espace « privé » et un espace « partagé ». Ceux-ci regroupaient tous vos objets Git : vos commits et vos blobs, par exemple.</p>
<p>Par défaut, <code>init-db</code> créait un espace de stockage des objets privé qui n'était utilisé que pour le répertoire géré dans lequel il avait été créé. L'espace de stockage des objets « partagé », quant à lui, permettait de centraliser les objets communs à plusieurs répertoires, ce qui évitait d'avoir à les stocker deux fois.</p>
<h3>Créer un commit</h3>
<p>Nous disposons maintenant d'un dépôt, mais comment procéder pour créer un commit ? Autant vous dire que ce n'est pas aussi simple qu'avec la commande actuelle <code>git add . &amp;&amp; git commit</code>. À l'époque, vous deviez :</p>
<ol>
<li>Mettre à jour l'index en appelant <code>update-cache</code> pour chaque fichier que vous souhaitiez ajouter.</li>
<li>Écrire un nouvel arbre en appelant <code>write-tree</code> pour prendre le contenu que vous aviez
ajouté à l'index.</li>
<li>Configurer les variables d'environnement pour indiquer à Git que vous en étiez l'auteur.</li>
<li>Créer un objet de commit en appelant <code>commit-tree</code>.</li>
</ol>
<p>Créons un commit dans le dépôt pour illustrer ce processus :</p>
<pre><code class="language-shell">$ echo content-1 &gt;file-a
$ update-cache file-a
$ echo content-2 &gt;file-b
$ update-cache file-b
$ write-tree
3f143dfb48f2d84936626e2e5402e1f10c2050fb
$ export COMMITTER_NAME=&quot;Patrick Steinhardt&quot;
$ export COMMITER_EMAIL=ps@pks.im
$ echo &quot;commit message&quot; | commit-tree 3f143dfb48f2d84936626e2e5402e1f10c2050fb
Committing initial tree 3f143dfb48f2d84936626e2e5402e1f10c2050fb
5f8e928066c03cebe5fd0a0cc1b93d058155b969
</code></pre>
<p>Certes, ce processus n'est pas très pratique, mais il fonctionne ! Découvrons maintenant le commit généré :</p>
<pre><code class="language-shell">$ cat-file 5f8e928066c03cebe5fd0a0cc1b93d058155b969
temp_git_file_rlTXtE: commit
$ cat temp_git_file_rlTXtE
tree 3f143dfb48f2d84936626e2e5402e1f10c2050fb
author Patrick Steinhardt &lt;ps@pks.im&gt; Wed Mar 26 13:10:16 2025
committer Patrick Steinhardt &lt;ps@pks.im&gt; Wed Mar 26 13:10:16 2025

commit message
</code></pre>
<p>Notez que <code>cat-file</code> n'a pas affiché le contenu directement, mais l'a d'abord écrit
dans un fichier temporaire. Toutefois, le contenu du fichier ressemblait déjà en tous points à
celui des commits actuels.</p>
<h3>Apporter des modifications</h3>
<p>Maintenant que nous avons des fichiers, comment pouvons-nous obtenir leur statut ? Vous l'aviez peut-être deviné, en utilisant <code>show-diff</code> :</p>
<pre><code class="language-shell">$ show-diff
file-a: ok
file-b: ok

$ echo modified-content &gt;file-a
$ show-diff
--- -	2025-03-26 13:14:53.457611094 +0100
+++ file-a	2025-03-26 13:14:52.230085756 +0100
@@ -1 +1 @@
-content-1
+modified-content
file-a:  46d8be14cdec97aac6a769fdbce4db340e888bf8
file-b: ok
</code></pre>
<p>Étonnamment, la commande <code>show-diff</code> permettait déjà de générer des diffs entre l'ancien et le nouvel état des fichiers modifiés ! Et pour l'anecdote, Git accomplissait cette tâche en exécutant simplement l'outil Unix diff(1).</p>
<p>En somme, tout était encore rudimentaire, mais suffisant pour assurer le suivi de l'historique. À ce stade, Git était encore très limité :</p>
<ul>
<li>Il était impossible de passer facilement d'un commit à un autre.</li>
<li>Il était impossible d'afficher les logs.</li>
<li>Il n'y avait pas de branches, de tags ou même de références. Les utilisateurs devaient manuellement conserver une trace des ID d'objet.</li>
<li>Il était impossible de synchroniser deux dépôts. Par conséquent,
les utilisateurs devaient utiliser rsync(1) pour synchroniser les répertoires <code>.dircache</code>.</li>
<li>Il était impossible de fusionner des modifications.</li>
</ul>
<h2>Git 0.99</h2>
<p>La version 0.99 de Git a été la première à entrer en phase de test. Celle-ci a été publiée seulement deux mois après le commit initial, mais contenait déjà 1 076 commits. Près de 50 développeurs différents ont participé à son développement. À ce stade, Linus Torvalds était encore le principal contributeur, talonné de près par Junio Hamano, qui est aujourd'hui le chargé de maintenance.</p>
<p>De nombreuses améliorations avaient été mises en place depuis le premier commit :</p>
<ul>
<li>Git avait commencé à suivre différentes branches de développement à l'aide de références, ce qui, dans la grande majorité des cas, dispensait les utilisateurs de suivre les ID d'objets manuellement.</li>
<li>Un nouveau protocole distant permettait désormais à deux dépôts d'échanger
des objets entre eux.</li>
<li>Le répertoire <code>.dircache</code> avait été renommé <code>.git</code>.</li>
<li>Il était désormais possible de fusionner des fichiers uniques entre eux.</li>
</ul>
<p>Mais le changement le plus marquant a sans doute été l'arrivée de
la commande principale <code>git</code> et de ses nombreuses sous-commandes. C'est aussi à cette occasion
qu'est née la distinction entre les commandes dites de « plomberie » (plumbing) et de « porcelaine » (porcelain) :</p>
<ul>
<li>Les outils de « plomberie » sont les commandes de bas niveau qui accèdent au dépôt Git
sous-jacent.</li>
<li>Les outils de « porcelaine » sont des scripts shell qui encapsulent les commandes de « plomberie » pour fournir une interface utilisateur plus conviviale et performante.</li>
</ul>
<p>Cette distinction existe encore aujourd'hui, comme expliqué dans
<a href="https://git-scm.com/docs/git/fr#_commandes_de_haut_niveau_porcelaine"><code>git(1)</code></a>, mais avec
la réécriture en C de nombreuses commandes de « porcelaine » initialement en shell, la frontière entre ces deux catégories a commencé à s'estomper significativement.</p>
<h2>Linus Torvalds passe la main</h2>
<p>Linus Torvalds n'a jamais créé Git par passion pour les systèmes de <a href="https://about.gitlab.com/fr-fr/topics/version-control/" title="Qu'est-ce que le contrôle de version">contrôle de version</a>, mais parce qu'il était nécessaire de remplacer BitKeeper pour le développement du noyau Linux. Dès le départ, il n'avait pas l'intention d'en assurer la maintenance indéfiniment, mais juste le temps de trouver quelqu'un de confiance pour reprendre le flambeau.</p>
<p>Et cette personne fut Junio Hamano. Junio a rejoint Git une semaine à peine après le premier  commit de Linus Torvalds et comptait déjà plusieurs centaines de commits dans l'historique au moment de la sortie de la version 0.99. Ainsi, le 26 juillet 2005, <a href="https://lore.kernel.org/git/Pine.LNX.4.58.0507262004320.3227@g5.osdl.org/">Linus Torvalds l'a désigné comme nouveau chargé de maintenance du projet Git</a>. Même si Linus Torvalds a continué à contribuer à Git, son implication s'est progressivement réduite, ce qui n'a rien de surprenant, vu ses responsabilités à la tête du projet Linux.</p>
<p>A ce jour, Junio Hamano dirige toujours le projet Git.</p>
<h2>Git 1.0</h2>
<p>La première version majeure de Git est sortie le 21 décembre 2005 par Junio Hamano. Fait intéressant : pas moins de 34 nouvelles versions ont été publiées entre la version 0.99 et la version 1.0 : 0.99.1 à 0.99.7, 0.99.7a à 0.99.7d, 0.99.8 à 0.99.8g, et 0.99.9 jusqu'à 0.99.9n.</p>
<p>Parmi les évolutions majeures depuis la version 0.99, l'une des plus importantes a sans doute été l'introduction de la commande <code>git-merge(1)</code> pour fusionner deux arbres. Un changement radical par rapport à la version précédente, dans laquelle chaque merge devait être effectuée manuellement, fichier par fichier.</p>
<h3>Dépôts distants</h3>
<p>Un autre changement majeur a été l'introduction de la notation abrégée pour
les dépôts distants. Git savait déjà communiquer avec eux, mais jusque-là,
les utilisateurs devaient entrer l'URL complète à chaque
récupération de modifications. Ce processus était plutôt contraignant, car dans la grande majorité des cas, les utilisateurs interagissaient toujours avec le même dépôt distant.</p>
<p>Aujourd'hui, vous connaissez probablement le fonctionnement des dépôts distants,
mais à l'époque, le mécanisme était encore très différent. Il n'existait pas de commande <code>git-remote(1)</code><br>
pour les gérer. Ils n'étaient même pas stockés<br>
dans votre fichier<code>.git/config</code> file. À vrai dire, lorsque les dépôts distants ont fait leur apparition dans
la version 0.99.2, Git ne <em>disposait</em> même pas encore de fichiers de configuration.</p>
<p>Pour les configurer, il fallait créer un fichier dans le
répertoire <code>.git/branches</code>, un mécanisme qui semble aujourd'hui plutôt contre-intuitif. Mais<br>
il fonctionne encore aujourd'hui :</p>
<pre><code class="language-shell">$ git init repo --
Initialized empty Git repository in /tmp/repo/.git/
$ cd repo
$ mkdir .git/branches
$ echo https://gitlab.com/git-scm/git.git &gt;.git/branches/origin
$ git fetch origin refs/heads/master
</code></pre>
<p>Et ce n'est pas tout ! Le répertoire a été renommé en « dépôts distants » dès la version 0.99.5 de Git. Aujourd'hui, il existe donc trois méthodes distinctes pour configurer des dépôts distants dans un client Git actuel.</p>
<p>Mais soyons honnêtes : la plupart d'entre vous n'ont sans doute jamais eu à utiliser <code>.git/branches</code> ni <code>.git/remotes</code>,
deux mécanismes devenus obsolètes en 2005 et 2011,
respectivement. Ces répertoires seront d'ailleurs définitivement supprimés dans la version Git 3.0.</p>
<h2>Image de marque de Git</h2>
<p>En 2007, Git créé son premier logo. Le terme « logo » est peut-être un peu excessif : il ne s'agissait en réalité que de trois signes moins rouges au-dessus de trois signes plus verts, une référence visuelle directement inspirée de la sortie de <code>git diff</code> :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097388/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097387927.png" alt="trois signes moins rouges au-dessus de trois signes plus verts, référence visuelle inspirée de la sortie de "></p>
<p>Le site web <a href="https://git-scm.com">git-scm.com</a> voit quant à lui le jour en 2008 :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097388/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097387930.png" alt="page de destination pour git-scm.com en 2006"></p>
<p>En 2012, le site web de Git est <a href="https://lore.kernel.org/git/CAP2yMaJy=1c3b4F72h6jL_454+0ydEQNXYiC6E-ZeQQgE0PcVA@mail.gmail.com/">remanié</a> par Scott Chacon et Jason Long et son design ne changera que très peu par la suite :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097388/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097387932.png" alt="site web git remanié en 2012"></p>
<p>Cette refonte du site arbore le nouveau logo rouge-orange conçu par Jason Long, qui est encore utilisé aujourd'hui :</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097388/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097387934.png" alt="logo git"></p>
<h2>Git 2.0</h2>
<p>Dès la version 1.0, Git ressemblait déjà fortement à la version d'aujourd'hui,
c'est pourquoi nous allons faire un grand saut dans le temps et passer directement à une autre étape clé de son histoire : Git 2.0. Publiée environ dix ans après Git 1.0,
cette version a été la première à
introduire délibérément des changements non compatibles avec les versions précédentes dans les workflows principaux.</p>
<h3>Comportement par défaut de <code>git-push(1)</code></h3>
<p>Le changement le plus déroutant de cette version a sans doute été
l'ajustement du comportement par défaut de la commande  <code>git-push(1)</code>.</p>
<p>Si vous réalisiez un push dans un dépôt distant sans en indiquer explicitement l'objet,
Git pouvait réagir de plusieurs façons :</p>
<ul>
<li>Refuser d'agir et vous inviter à préciser l'objet de votre push.</li>
<li>Effectuer un push de la branche actuellement extraite.</li>
<li>Effectuer un push de la branche actuellement extraite, mais uniquement s'il détectait une branche correspondante dans le dépôt distant.</li>
<li>Effectuer un push de toutes vos branches disposant d'un équivalent dans le dépôt distant.</li>
</ul>
<p>Aujourd’hui, le comportement par défaut de Git suit la stratégie dite « simple », c'est-à-dire la
troisième option mentionnée ci-dessus. Mais avant Git 2.0, le comportement par défaut était la stratégie de « correspondance », soit la dernière option.</p>
<p>La stratégie de « correspondance » était nettement plus risquée. Avant le push, vous deviez toujours vous assurer que vous vouliez vraiment effectuer un push de toutes vos branches locales disposant d'un équivalent dans le dépôt distant. Dans le cas contraire, vous risquiez d'envoyer des modifications par erreur. C'est pourquoi Git a opté pour la stratégie dite « simple », afin de limiter les risques et de faciliter la prise en main pour les nouveaux utilisateurs.</p>
<h3><code>git-add(1)</code></h3>
<p>Le comportement par défaut de <code>git-add(1)</code> vis-à-vis des fichiers supprimés
a lui aussi connu une évolution importante. Avant Git 2.0, la commande <code>git-add(1)</code> ne
prenait pas en compte les fichiers supprimés : il fallait les ajouter manuellement
avec <code>git-rm(1)</code> pour qu'ils soient inclus dans un commit. À partir de la version 2.0, la commande <code>git-add(1)</code> détecte également les suppressions de fichiers et les ajoute à l’index.</p>
<h2>La communauté Git à l'honneur</h2>
<p>Nous n'allons pas entrer dans les détails du fonctionnement actuel de Git : vous l'utilisez probablement déjà au quotidien, et dans le cas contraire, de nombreux tutoriels existent pour bien débuter. Prenons plutôt un moment pour célébrer et remercier la communauté Git, qui a permis à ce système de rester aussi performant après deux décennies.</p>
<p>Au fil du temps, Git a :</p>
<ul>
<li>Accumulé 56 721 commits depuis <a href="https://about.gitlab.com/fr-fr/blog/whats-new-in-git-2-49-0/" title="Git 2.49.0">Git 2.49.0</a></li>
<li>Reçu des contributions de plus de 2 000 personnes différentes.</li>
<li>Publié 60 nouvelles versions majeures.</li>
</ul>
<p>Le projet Git continue aussi de se renouveler grâce à l'arrivée régulière de nouveaux contributeurs, notamment par le biais des programmes <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a> et <a href="https://www.outreachy.org/">Outreachy</a>. Ce sont eux qui assurent la pérennité du projet Git.</p>
<h2>L'avenir de Git</h2>
<p>Git s'est clairement imposé comme le grand gagnant dans la course aux systèmes de contrôle de version. Il domine largement le marché et il est rare aujourd'hui de voir un projet <a href="https://about.gitlab.com/fr-fr/blog/what-is-open-source/" title="Qu'est-ce que l'open source ?">open source</a> qui n'utilise pas Git. C'est bien la preuve que Git a su faire les bons choix.</p>
<p>Cela dit, le développement de Git est loin d'être terminé et de nombreux défis restent à relever. Sur le plan technique :</p>
<ul>
<li>la modernisation d'un code base vieillissant</li>
<li>la mise à l'échelle face à la croissance continue des monorepos</li>
<li>la gestion plus efficace des fichiers binaires volumineux</li>
</ul>
<p>Sur le plan communautaire :</p>
<ul>
<li>l'amélioration de la convivialité de Git</li>
<li>la promotion de la communauté Git pour garantir la pérennité du
projet</li>
</ul>
<p>Le travail ne s'arrête pas là et chez GitLab, nous sommes fiers de contribuer activement à faire en sorte que Git reste un système de contrôle de version de référence pour les vingt années à venir.</p>
<h2>En savoir plus sur Git</h2>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/celebrating-gits-20th-anniversary-with-creator-linus-torvalds/">Git fête ses 20 ans : entretien avec son créateur Linus Torvalds</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/a-beginners-guide-to-the-git-reftable-format/">Format reftable de Git : guide pour les débutants</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/git-pull-vs-git-fetch-whats-the-difference/" title="Git fetch vs git pull ">Git fetch vs git pull : quelle est la différence entre ces deux commandes Git ?</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/keeping-git-commit-history-clean/" title="Commits Git">Commits Git : comment et pourquoi maintenir un historique propre</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/git-bash/" title="Git Bash">Git en ligne de commande sous Windows avec Git Bash</a></li>
<li><a href="https://about.gitlab.com/fr-fr/blog/take-advantage-of-git-rebase/" title="Git rebase">Améliorez votre workflow avec Git rebase</a></li>
</ul>
]]></content>
        <author>
            <name>Patrick Steinhardt</name>
            <uri>https://about.gitlab.com/blog/authors/patrick-steinhardt</uri>
        </author>
        <published>2025-04-14T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo Workflow : améliorez l'assurance qualité de vos applications ]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/use-gitlab-duo-workflow-to-improve-application-quality-assurance/"/>
        <updated>2025-04-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Garantir la qualité de vos applications en vous appuyant sur une approche de conception pilotée par les tests, une bonne couverture de code et une détection précoce des anomalies est essentiel pour vos clients et pour votre réputation. Pourtant, ces processus peuvent rapidement devenir chronophages. Avec <a href="https://about.gitlab.com/fr-fr/gitlab-duo/workflow/">GitLab Duo Workflow</a>, l'IA agentique développée sur la plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que le DevSecOps ? ">DevSecOps</a> la plus complète, vous pouvez réaliser rapidement des tâches clés au cours de votre cycle de développement logiciel. Découvrez dans ce tutoriel comment ajouter des tests unitaires à une application Java sur la base de ce <a href="https://gitlab.com/gitlab-da/playground/csaavedra/gdw/prodmgr-gdw">projet Java</a> qui nous servira d'exemple.</p>
<blockquote>
<p>GitLab Duo Workflow est actuellement proposé en version bêta privée. Inscrivez-vous sur la <a href="https://about.gitlab.com/fr-fr/gitlab-duo/workflow/">liste d'attente</a> pour découvrir ce qu'il est possible de faire avec des agents d'IA qui comprennent l'ensemble de votre cycle de développement logiciel.</p>
</blockquote>
<h2>Ouverture de votre projet dans VS Code</h2>
<ol>
<li>
<p>Commencez par cloner votre projet Java sur votre ordinateur local, puis ouvrez-le dans Visual Studio Code. Assurez-vous d'utiliser une branche de fonctionnalité (et non pas la branche principale ou par défaut). Si vous travaillez déjà sur une merge request, celle-ci doit être associée à sa propre branche de fonctionnalité.</p>
</li>
<li>
<p>(Étape facultative.) Accédez au fichier contenant la classe Java pour laquelle vous souhaitez que GitLab Duo Workflow crée des tests unitaires. Inspectez-le afin de pouvoir confirmer ultérieurement que les tests unitaires générés couvrent bien les éléments de cette classe. Voici ce que vous verrez :</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097627/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097627482.png" alt="Fichier qui définit la classe Java pour laquelle vous souhaitez que GitLab Duo Workflow crée des tests unitaires"></p>
<p><strong>Remarque</strong> : ce tutoriel suppose que vous avez déjà installé l'extension GitLab Duo Workflow et que vous l'avez activée dans votre VS Code. Si ce n'est pas le cas, veuillez vous référer à la <a href="https://docs.gitlab.com/user/duo_workflow/#use-workflow-in-vs-code">documentation d'installation</a>.</p>
<ol start="3">
<li>Lancez GitLab Duo Workflow en ouvrant la palette de commandes de VS Code [Ctrl + Shift + P]. Saisissez « GitLab Duo Workflow », puis sélectionnez <strong>GitLab : afficher GitLab Duo Workflow</strong>. Un onglet apparaîtra alors, comme suit :</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097627483.png" alt="Lancement de GitLab Duo Workflow avec VS Code"></p>
<ol start="4">
<li>L'étape suivante consiste à ajouter des tests pour tester le constructeur par défaut, vérifier la création de l'objet et tester l'état initial des propriétés de la classe « Product » Java. Pour ce faire, saisissez le prompt suivant dans la zone de texte de GitLab Duo Workflow :</li>
</ol>
<pre><code class="language-unset">Create unit tests for class defined in the Product.java file and store the unit tests in its own file titled ProductTest.java
</code></pre>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097627484.png" alt="Zone du prompt dans GitLab Duo Workflow"></p>
<ol start="5">
<li>Cliquez sur le bouton <strong>Démarrer</strong> dans la fenêtre GitLab Duo Workflow. Deux nouvelles fenêtres apparaissent alors : une au centre de l'écran et une à droite. Celle de droite affiche l'analyse que GitLab Duo Workflow a effectuée pour proposer un plan d'action qui permettra d'atteindre l'objectif spécifié dans votre prompt. Le plan d'action détaillé est affiché dans la fenêtre centrale. Une fois l'analyse terminée et le plan d'action élaboré, vous obtenez les données de sortie suivantes :</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097627/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097627486.png" alt="Analyse et plan d'action générés par GitLab Duo Workflow"></p>
<ol start="6">
<li>
<p>Si l'analyse et le plan d'action vous conviennent, cliquez sur <strong>Approuver le plan</strong> en bas de la fenêtre.</p>
</li>
<li>
<p>Une fois votre plan d'action approuvé, GitLab Duo Workflow exécute les modifications nécessaires dans votre projet.</p>
</li>
<li>
<p>Vous voyez alors s'afficher un nouveau répertoire <code>src/test/java/csaa/jspring/ProductManager</code> contenant un nouveau fichier nommé <code>ProductTest.java</code>, lequel regroupe tous les tests unitaires pour la classe <code>Product.java</code>.</p>
</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750097627488.png" alt="Nouveau répertoire dans le projet avec un nouveau nom de fichier "></p>
<ol start="9">
<li>En consultant ce fichier <code>ProductTest.java</code>, vous remarquerez qu'il contient des déclarations d'importation soulignées en rouge indiquant des erreurs d'importation :</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097627489.png" alt=" inclut des déclarations d'importation en rouge indiquant des erreurs"></p>
<p>Demandons alors à GitLab Duo Workflow de les corriger à notre place.</p>
<p><strong>Remarque</strong> : nous aurions également pu demander à GitLab Duo Workflow dans notre premier prompt de mettre à jour le fichier <code>pom.xml</code>. Comme nous ne l'avons pas fait, nous allons donc corriger ces erreurs dans un nouveau workflow.</p>
<h2>Correction des erreurs dans le code généré avec GitLab Duo Workflow</h2>
<ol start="10">
<li>Démarrez un nouveau workflow en cliquant sur le bouton <strong>Nouveau workflow</strong> en bas de la fenêtre d'analyse sur le côté droit de votre écran.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097628/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097627491.png" alt="Bouton Nouveau workflow"></p>
<ol start="11">
<li>Saisissez le prompt suivant :</li>
</ol>
<pre><code class="language-unset">The file ProductTest.java has an error “The import org.junit cannot be resolved”. Please fix it
</code></pre>
<ol start="12">
<li>Approuvez le plan d'action proposé pour que GitLab Duo Workflow commence son analyse en lisant votre fichier <code>pom.xml</code> actuel, puis l'édite et supprime la dépendance JUnit obsolète en la remplaçant par la dépendance et la version correctes de JUnit. Enfin, GitLab Duo Workflow élimine toutes les erreurs de dépendance dans le fichier <code>ProductTest.java</code>.</li>
</ol>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097627/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097627492.png" alt="GitLab Duo Workflow effectuant une analyse en lisant le fichier pom.xml"></p>
<h2>Tutoriel vidéo</h2>
<p>En exécutant le plan d'action proposé, GitLab Duo Workflow met concrètement à jour votre projet afin de réaliser ce que vous lui avez demandé dans le prompt. Il vous aide à gagner un temps précieux, en toute simplicité, et augmente la productivité de votre équipe : vos équipes de développement peuvent ainsi consacrer plus de temps à innover et à créer de la valeur.</p>
<p>Pour découvrir ce guide étape par étape en action, regardez la vidéo du tutoriel :</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/Tuj7TgqY81Q?si=RReuL1pUsLafvAzs&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<blockquote>
<p>Inscrivez-vous à la <a href="https://about.gitlab.com/fr-fr/gitlab-duo/workflow/" title="Version bêta privée de GitLab Duo Workflow">version bêta privée de GitLab Duo Workflow</a> pour découvrir ce qu'il est possible de faire avec des agents d'IA qui comprennent l'ensemble de votre cycle de développement logiciel.</p>
</blockquote>
<h2>En savoir plus sur GitLab Duo Workflow et l'IA agentique</h2>
<ul>
<li><a href="https://about.gitlab.com/fr-fr/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/">GitLab Duo Workflow : une IA agentique offrant visibilité et contrôle à l'échelle de l'entreprise</a></li>
<li><a href="https://docs.gitlab.com/user/duo_workflow/">Documentation GitLab Duo Workflow</a></li>
<li><a href="https://about.gitlab.com/fr-fr/gitlab-duo/">GitLab Duo</a></li>
<li><a href="https://about.gitlab.com/the-source/ai/agentic-ai-unlocking-developer-potential-at-scale/">IA agentique : libérez le potentiel des développeurs à grande échelle (The Source)</a></li>
</ul>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-04-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Scaled Agile Framework : adoptez le framework SAFe avec GitLab ]]></title>
        <id>https://about.gitlab.com/fr-fr/blog/safe-without-silos-in-gitlab/</id>
        <link href="https://about.gitlab.com/fr-fr/blog/safe-without-silos-in-gitlab/"/>
        <updated>2025-04-08T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Lorsqu'une entreprise décide d'adopter le Scaled Agile Framework (SAFe) pour s'adapter à ses nouveaux besoins, coordonner les équipes qui travaillent sur des produits complexes devient rapidement un enjeu de taille. Elle doit couramment faire face à un défi majeur : la planification s'effectue dans un outil, tandis que le travail de développement proprement dit est géré dans un autre.</p>
<p>Cette séparation crée des silos entre les équipes et entraîne une multitude de problèmes au quotidien : les équipes de développement passent constamment d'un système à l'autre, les chefs de produit peinent à obtenir une image précise de l'avancement des projets, et au final, ce sont tous les contributeurs aux projets qui perdent un temps précieux à transférer manuellement des informations entre les différents systèmes. Or, SAFe a précisément été conçu pour résoudre ce type d'expérience fragmentée.</p>
<p>Si vos équipes de développement utilisent déjà GitLab pour la <a href="https://about.gitlab.com/fr-fr/solutions/source-code-management/" title="Gestion du code source">gestion du code source</a>, les processus <a href="https://about.gitlab.com/fr-fr/topics/ci-cd/" title="Qu'est-ce que le CI/CD ?">CI/CD</a> et la sécurité des logiciels, vous vous demandez peut-être s'il est possible d'y intégrer également la planification SAFe. La réponse est oui. Grâce à ses solides capacités de gestion de projets Agile, GitLab prend en charge le framework SAFe à chaque étape du développement logiciel.</p>
<p>Dans cet article, découvrez comment GitLab vous aide à mettre en place les concepts et les cérémonies SAFe, le tout au sein d'une seule et même plateforme <a href="https://about.gitlab.com/fr-fr/topics/devsecops/" title="Qu'est-ce que DevSecOps ?">DevSecOps</a>.</p>
<h2>Qu'est-ce que le Scaled Agile Framework (SAFe) ?</h2>
<p>Le Scaled Agile Framework (SAFe) est une approche de gestion conçue pour appliquer les principes Agile à l'échelle des grandes entreprises. Il optimise la livraison de valeur, assure un alignement constant entre les équipes et se concentre sur les besoins des clients.</p>
<p>SAFe transpose le modèle collaboratif et itératif des petites équipes aux environnements complexes des grandes entreprises impliquant de nombreuses équipes, parties prenantes et roadmaps.</p>
<p>Cette approche permet d'harmoniser tous les efforts de planification et d'exécution vers un objectif commun. Pour les chefs de produit, le Scaled Agile Framework (SAFe) fait le lien entre la stratégie et l'exécution : il ne s'agit pas uniquement de livrer rapidement, mais de livrer les bons produits, en s'appuyant sur des priorités claires et une coordination transversales entre les différentes équipes.</p>
<p>SAFe réduit les silos, encourage la collaboration et aide les équipes à se mobiliser autour des résultats attendus par les clients, et non plus uniquement autour des tâches à accomplir. Une fois intégré à GitLab, la magie opère : visibilité, traçabilité et livraison sont réunies au sein d'une seule et même plateforme.</p>
<h2>Correspondance de la terminologie SAFe dans GitLab</h2>
<p>Voici un aperçu des concepts SAFe et leur correspondance dans GitLab :</p>
<table>
<thead>
<tr>
<th style="text-align:left">SAFe</th>
<th style="text-align:left">GitLab</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Epic</td>
<td style="text-align:left">Epic principal</td>
</tr>
<tr>
<td style="text-align:left">Capability</td>
<td style="text-align:left">Sous-epic (niveau 1)</td>
</tr>
<tr>
<td style="text-align:left">Feature</td>
<td style="text-align:left">Sous-epic (niveau 2)</td>
</tr>
<tr>
<td style="text-align:left">User story</td>
<td style="text-align:left">Ticket</td>
</tr>
<tr>
<td style="text-align:left">Task</td>
<td style="text-align:left">Tâche</td>
</tr>
<tr>
<td style="text-align:left">Team</td>
<td style="text-align:left">Champ personnalisé / Label à portée limitée</td>
</tr>
<tr>
<td style="text-align:left">Sprint</td>
<td style="text-align:left">Itération</td>
</tr>
<tr>
<td style="text-align:left">Program Increment (PI)</td>
<td style="text-align:left">Jalon</td>
</tr>
<tr>
<td style="text-align:left">Value Stream</td>
<td style="text-align:left">Groupe principal</td>
</tr>
<tr>
<td style="text-align:left">Agile Release Train (ART)</td>
<td style="text-align:left">Groupe principal</td>
</tr>
</tbody>
</table>
<p>&lt;br&gt;&lt;/br&gt;</p>
<p>En vous basant sur cette correspondance, vous pouvez configurer GitLab pour refléter fidèlement votre implémentation SAFe. La structure des groupes vous permet d'organiser vos équipes autour de vos chaînes de valeur (Value Stream) et de vos Agile Release Trains (ART), tandis que la hiérarchie des éléments de travail (avec jusqu'à sept niveaux d'epics imbriqués) vous offre toute la profondeur nécessaire pour gérer des portefeuilles produits complexes. Que vous travailliez au niveau du portefeuille (groupes principaux), du programme (sous-groupes) ou de l'équipe (projets), la structure organisationnelle de GitLab s'aligne parfaitement avec la hiérarchie SAFe.</p>
<h2>Les cérémonies SAFe dans GitLab</h2>
<p>Découvrez maintenant comment organiser vos cérémonies SAFe dans GitLab. Voici comment procéder, étape par étape.</p>
<h3>Planification PI (Program Increment)</h3>
<p>Pour faciliter l'alignement entre les équipes et la gestion des dépendances qui font le succès de la planification PI, GitLab offre plusieurs fonctionnalités :</p>
<ul>
<li>La vue <a href="https://docs.gitlab.com/user/group/roadmap/">Roadmap</a> :  visualisez les fonctionnalités par équipe et sur plusieurs périodes.</li>
<li>Les <a href="https://docs.gitlab.com/user/project/milestones/">jalons</a> : associez chaque fonctionnalité au jalon correspondant à votre PI.</li>
<li>Les <a href="https://docs.gitlab.com/user/project/issues/related_issues/#blocking-issues">dépendances</a> : documentez et visualisez les dépendances entre équipes dès qu'elles sont identifiées.</li>
</ul>
<p>GitLab vous offre une grande flexibilité pour la planification PI grâce à deux vues principales : les tableaux des epics (qui peuvent être configurés pour afficher les affectations par équipe) et la vue Roadmap (qui affiche les fonctionnalités au fil du temps, façon diagramme de Gantt). Vous pouvez facilement passer d'une vue à l'autre pendant votre session de planification, selon que vous souhaitez vous concentrer sur la chronologie ou l'organisation des équipes.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097576746.gif" alt="Vue Roadmap et tableau des epics"></p>
<p>&lt;br&gt;&lt;/br&gt;</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097576747.png" alt="Vue Roadmap avec diagramme de Gantt"></p>
<h3>Affinement</h3>
<p>En tant que chef de produit, animer des sessions d'affinement efficaces repose sur une visibilité complète de votre backlog de fonctionnalités. Vous pouvez exécuter votre session d'affinement directement dans GitLab. Il n'est plus nécessaire de mettre à jour un outil pendant la réunion, puis un autre après coup.</p>
<p>GitLab facilite les sessions d'affinement grâce aux éléments suivants :</p>
<ul>
<li>Les <a href="https://docs.gitlab.com/user/group/epics/epic_boards/">tableaux des epics</a> : regroupez les fonctionnalités en fonction de leur statut.</li>
<li>Les story points : visualisez-les directement dans l'<a href="https://docs.gitlab.com/user/group/epics/epic_boards/#view-count-of-issues-weight-and-progress-of-an-epic">aperçu</a>.</li>
<li>Les <a href="https://docs.gitlab.com/user/group/epics/manage_epics/#open-epics-in-a-drawer">vues dans un volet latéral</a> : interagissez avec vos éléments de travail sans jamais perdre de vue le contexte.</li>
<li>Les <a href="https://docs.gitlab.com/user/group/epics/manage_epics/#add-an-issue-to-an-epic">tickets enfants</a> : créez et associez des tickets directement à partir des epics.</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097576749.gif" alt="SAFe - image 3"></p>
<h3>Planification de sprint</h3>
<p>GitLab vous offre tous les outils nécessaires pour planifier vos sprints sans frictions :</p>
<ul>
<li>Les <a href="https://docs.gitlab.com/user/project/issue_board/">tableaux des tickets</a> : visualisez clairement l'ensemble de votre backlog.</li>
<li>Le <a href="https://docs.gitlab.com/user/project/issue_board/#sum-of-issue-weights">poids total</a> des user stories : visualisez-le directement dans les tableaux.</li>
<li>L'ordonnancement des tickets : déplacez les tickets entre les différentes itérations, par simple glisser-déposer.</li>
<li>Une vue repliable : simplifiez le réordonnancement des stories d'un sprint à l'autre.</li>
</ul>
<p>Plus besoin de jongler entre plusieurs outils, toute la planification se fait dans GitLab. Vous pouvez ainsi consacrer vos réunions de planification à prendre les bonnes décisions.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097576751.gif" alt="Planification de sprint avec GitLab"></p>
<p><em>💡 Consultez <a href="https://docs.gitlab.com/tutorials/scrum_events/">ce tutoriel dédié à la mise en œuvre de la méthode Scrum avec GitLab</a> et découvrez en détail la puissance de GitLab dans la planification Agile et le suivi des sprints.</em></p>
<h3>Points quotidiens</h3>
<p>Votre équipe peut se réunir autour du tableau de bord lors de vos points quotidiens, plus besoin de naviguer entre plusieurs outils ou de deviner l'avancement des projets : tout est visible en un clin d'œil dans GitLab. Votre équipe voit instantanément qui travaille sur quoi, ce qui bloque, et ce qui est prêt pour la revue. GitLab vous permet d'effectuer les actions suivantes lors de vos points quotidiens :</p>
<ul>
<li>Les tableaux <a href="https://docs.gitlab.com/user/project/issue_board/#iteration-lists">filtrés par itération</a> : affichez le travail du sprint en cours.</li>
<li>Les story points : affichez le poids des stories directement sur les cartes.</li>
<li>La <a href="https://docs.gitlab.com/user/project/issues/managing_issues/#open-issues-in-a-drawer">vue du volet latéral</a> : accédez aux détails sans quitter le contexte.</li>
<li>Les <a href="https://docs.gitlab.com/user/project/issues/managing_issues/#health-status">indicateurs de progression</a> : mettez en évidence les tâches à risque.</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097576755.png" alt="Tableau de réunions debout quotidiennes"></p>
<h3>Revue de sprint</h3>
<p>Pour avoir une vision claire des performances de votre équipe au fil des sprints, GitLab met à votre disposition des indicateurs puissants avec les éléments suivants :</p>
<ul>
<li>Des <a href="https://docs.gitlab.com/user/group/iterations/#iteration-burndown-and-burnup-charts">graphiques d'avancement burndown et burnup</a> : visualisez facilement l'avancement des itérations.</li>
<li>Le suivi de la vélocité : mesurez l'efficacité de votre équipe.</li>
<li>Les <a href="https://docs.gitlab.com/user/group/value_stream_analytics/#lifecycle-metrics">délais d'exécution et la durée de cycle</a> : obtenez des indicateurs précis pour évaluer vos workflows.</li>
<li>Des tableaux de bord personnalisables : créez des vues adaptées à chaque équipe.</li>
</ul>
<p>Ces indicateurs vous aident à comprendre si votre équipe gagne en rapidité, à détecter les goulots d'étranglement et les points de friction à aborder lors de votre prochaine rétrospective.</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097577/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097576758.png" alt="Graphiques d'avancement burndown et burnup"></p>
<h2>5 bonnes raisons d'adopter une plateforme unifiée</h2>
<p>Il existe de nombreux outils de planification capables de gérer les cérémonies SAFe. Mais GitLab se distingue véritablement de ses concurrents pour les raisons suivantes :</p>
<ol>
<li><strong>Plus de changement de contexte</strong> : la planification, le développement, les tests et la sécurité s'effectuent tous sur une seule plateforme.</li>
<li><strong>Une traçabilité totale</strong> : de l'épic stratégique et prioritaire jusqu'au déploiement, en passant par l'écriture du code, chaque élément est relié et facile à suivre.</li>
<li><strong>Une collaboration efficace</strong> : toutes les équipes (développement, produit, sécurité) collaborent dans le même outil.</li>
<li><strong>Une visibilité instantanée</strong> : toutes les parties prenantes accèdent aux informations clés mises à jour, sur une seule plateforme.</li>
<li><strong>Une vue d'ensemble</strong> : les indicateurs de planification et de développement sont regroupés pour comprendre exactement où en est le projet.</li>
</ol>
<p>Si vos équipes de développement apprécient déjà GitLab, pourquoi leur imposer un nouvel outil de planification ou créer des intégrations complexes et disparates ? En intégrant votre planification SAFe à GitLab, vous offrez à tous les contributeurs une expérience unifiée, cohérente et bien plus efficace.</p>
<h2>Principes de mise en œuvre</h2>
<p>Après avoir accompagné plusieurs équipes dans leur transition depuis des outils SAFe traditionnels vers GitLab, voici ce qu'il faut retenir : concentrez-vous sur <strong>les objectifs propres à chaque cérémonie SAFe</strong> plutôt que d'essayer de reproduire les processus de vos anciens outils.</p>
<p>Les équipes qui tirent pleinement parti des fonctionnalités natives de GitLab sont plus performantes que celles qui essaient de les contourner. Cela demande un peu de travail au départ pour comprendre comment associer vos concepts SAFe et configurer vos workflows. Mais une fois cette étape franchie, vous constaterez rapidement que vos processus sont en réalité bien plus simples.</p>
<p>La clé du succès réside dans la définition de conventions partagées entre tous les contributeurs : quels labels utiliser ? Comment suivre les équipes ? Quelle différence entre un epic et un ticket ? En investissant un minimum d'effort dans cette phase de clarification, vous créez un système intuitif qui éliminera toute la charge de travail liée à la coordination entre les différents outils.</p>
<h2>Mise en place du framework SAFe dans GitLab</h2>
<p>Envie de vous lancer ? Voici les étapes pour mettre en œuvre un Scaled Agile Framework (SAFe) dans GitLab :</p>
<ol>
<li><strong>Structurez votre environnement</strong> : créez des groupes et des sous-groupes qui <a href="https://about.gitlab.com/fr-fr/blog/best-practices-to-set-up-organizational-hierarchies-that-scale/">s'alignent sur l'organisation de vos équipes</a>.</li>
<li><strong>Définissez la répartition de votre travail</strong> : décidez comment vous allez utiliser les <a href="https://about.gitlab.com/fr-fr/blog/unlocking-agile-excellence-gitlab-epics-for-seamless-portfolio-management/">epics</a>, les <a href="https://docs.gitlab.com/user/project/issues/managing_issues/">tickets</a> et les <a href="https://docs.gitlab.com/user/tasks/">tâches</a>.</li>
<li><strong>Créez vos itérations</strong> : configurez votre <a href="https://docs.gitlab.com/user/group/iterations/#create-an-iteration-cadence">calendrier de sprints</a>.</li>
<li><strong>Ajoutez vos jalons</strong> : les <a href="https://docs.gitlab.com/user/project/milestones/#create-a-milestone">jalons</a> représentent vos Program Increments (PI) SAFe dans GitLab.</li>
<li><strong>Personnalisez vos tableaux</strong> : créez des vues dédiées à chaque cérémonie SAFe.</li>
<li><strong>Accordez-vous sur des conventions</strong> : documentez la façon dont vous utiliserez les labels et les champs personnalisés.</li>
</ol>
<p>Prendre le temps de bien poser ces bases dès le départ vous évitera bien des tracas par la suite. Votre configuration n'a pas besoin d'être parfaite dès le premier jour : vous pourrez faire des ajustements au fur et à mesure.</p>
<h2>Rassemblez toutes les pièces du puzzle</h2>
<p>GitLab vous offre une base solide pour exécuter le Scaled Agile Framework (SAFe), en particulier si vos équipes de développement sont déjà adeptes de GitLab. En centralisant la planification et le développement dans un seul et même outil, vous éliminez les silos et les transferts fastidieux, facilitez la collaboration et accélérez la livraison de vos produits.</p>
<p>La flexibilité des outils de planification de GitLab vous permet d'adapter l'approche SAFe à vos besoins spécifiques. Vos équipes ne sont pas soumises à des workflows rigides : vous pouvez faire évoluer votre approche à mesure que vos équipes gagnent en maturité et que vos besoins changent.</p>
<blockquote>
<p>Découvrez à quel point la planification sans effet de silo peut être plus simple et plus efficace. <a href="https://about.gitlab.com/fr-fr/free-trial/?hosted=saas">Essayez GitLab Ultimate gratuitement pendant 60 jours</a> et simplifiez l'implémentation de votre approche SAFe.</p>
</blockquote>
<p><em>💡 Pour en savoir plus à ce sujet, n'hésitez pas à consulter également cet article : <a href="https://about.gitlab.com/fr-fr/blog/gitlab-for-agile-software-development/">Comment utiliser GitLab pour le développement logiciel agile</a></em></p>
]]></content>
        <author>
            <name>Amanda Rueda</name>
            <uri>https://about.gitlab.com/blog/authors/amanda-rueda</uri>
        </author>
        <published>2025-04-08T00:00:00.000Z</published>
    </entry>
</feed>