GitLab est une plateforme DevSecOps qui regroupe dans une seule application la gestion du code source, le CI/CD, les tests de sécurité applicative, la gestion de projet et le registre de paquets. Disponible en SaaS (gitlab.com), en self-managed (sur vos serveurs) ou en Dedicated (SaaS mono-tenant), GitLab couvre l'intégralité du cycle de vie logiciel, de la planification au déploiement en production. Avec plus de 50 millions d'utilisateurs enregistrés et 177 releases mensuelles consécutives, c'est l'une des forges les plus complètes du marché.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre ce qu'est GitLab : son positionnement, son histoire et son modèle open-source
- Identifier les formats de déploiement : SaaS, self-managed et Dedicated
- Connaître les fonctionnalités principales : gestion de code, CI/CD, sécurité, registres
- Comparer les éditions : Free, Premium et Ultimate
- Choisir le format adapté à votre contexte (équipe, conformité, budget)
Origine et modèle open-source
Section intitulée « Origine et modèle open-source »GitLab est né en 2011 comme un projet open-source créé par Dmitriy Zaporozhets et Valery Sizov. L'entreprise GitLab Inc. a été incorporée en 2014 et est entrée en bourse au NASDAQ (symbole GTLB) en 2021. L'entreprise fonctionne en 100 % télétravail depuis sa création et revendique plus de 2 500 collaborateurs répartis sur plusieurs continents.
Le modèle repose sur un noyau open-source (licence MIT) appelé GitLab Community Edition (CE). La version Enterprise Edition (EE) ajoute des modules propriétaires (sécurité avancée, conformité, gestion de portefeuille). Concrètement, le package d'installation est le même : les fonctionnalités EE se déverrouillent avec une licence.
Formats de déploiement
Section intitulée « Formats de déploiement »GitLab propose trois modes de déploiement pour s'adapter aux contraintes de chaque organisation. Le code applicatif est le même dans les trois cas : ce qui change, c'est qui exploite l'instance et où résident les données.
Deux questions suffisent le plus souvent à trancher. Avez-vous une contrainte de résidence des données ou de réseau privé ? Si oui, le SaaS mutualisé est écarté. Avez-vous une équipe capable d'assurer les mises à jour, les sauvegardes et la restauration ? Si non, le self-managed devient un risque plutôt qu'une économie.
| Format | Description | Géré par | Public cible |
|---|---|---|---|
| GitLab.com (SaaS) | Instance multi-tenant hébergée par GitLab | GitLab | Équipes voulant démarrer vite, sans infra à gérer |
| Self-Managed | Instance installée sur vos serveurs (VM, bare metal, Kubernetes) | Vous | Organisations avec contraintes de conformité ou souveraineté |
| Dedicated | SaaS mono-tenant isolé, hébergé par GitLab dans la région cloud de votre choix | GitLab | Entreprises (1 000+ utilisateurs) avec exigences de sécurité fortes |
GitLab.com est l'option la plus simple : créez un compte et commencez à travailler. GitLab gère l'infrastructure, les mises à jour et la disponibilité.
- Aucune installation requise
- 400 minutes de compute CI/CD par mois (plan Free)
- Mises à jour automatiques (toujours la dernière version)
- Hébergé sur Google Cloud Platform
Limites : moins de contrôle sur l'infrastructure, données hébergées aux États-Unis (sauf Dedicated), limite de 5 utilisateurs sur le plan Free.
Self-Managed vous donne le contrôle total. Vous installez GitLab sur vos serveurs et gérez les mises à jour, les sauvegardes et la configuration.
- Contrôle complet des données et de l'infrastructure
- Personnalisation poussée (LDAP, SAML, CA interne, stockage objet)
- Compatible CE (gratuit) et EE (avec licence)
- Méthodes d'installation : Linux package (Omnibus), Helm chart, Docker, Operator Kubernetes
Contrepartie : vous êtes responsable de la maintenance, des mises à jour et des sauvegardes.
GitLab Dedicated est un SaaS mono-tenant : une instance GitLab isolée, hébergée et gérée par GitLab dans la région AWS de votre choix.
- Isolation complète (pas de voisinage multi-tenant)
- Réseau privé (Private Link, VPN)
- Conformité renforcée (disponible pour le secteur public US via FedRAMP)
- À partir de 1 000 utilisateurs
Usage : grandes entreprises avec des exigences strictes de conformité et de résidence des données.
Stack technologique
Section intitulée « Stack technologique »GitLab est une application web dont l'architecture repose sur plusieurs composants complémentaires. Cette liste n'est pas seulement documentaire : en self-managed, chacun de ces composants est un service à superviser, et la plupart des incidents GitLab se diagnostiquent en identifiant lequel est tombé.
Trois d'entre eux méritent une attention particulière. Gitaly est le seul à parler directement aux dépôts Git sur disque, il concentre donc les problèmes de performance sur les gros dépôts. PostgreSQL contient tout ce qui n'est pas du code (issues, pipelines, permissions) et conditionne la restauration après incident. Sidekiq traite les tâches de fond, et une file Sidekiq qui s'allonge se traduit par des webhooks et des courriels qui n'arrivent jamais.
| Composant | Technologie | Rôle |
|---|---|---|
| Application web | Ruby on Rails | Interface utilisateur, API REST et GraphQL, logique métier |
| Gitaly | Go | Service d'accès aux dépôts Git (RPC), gestion des opérations Git à haute performance |
| GitLab Runner | Go | Exécution des jobs CI/CD (shell, Docker, Kubernetes) |
| Base de données | PostgreSQL | Stockage des métadonnées (projets, utilisateurs, pipelines, issues) |
| Cache et files | Redis | Cache applicatif, file d'attente des jobs Sidekiq |
| Jobs asynchrones | Sidekiq (Ruby) | Traitement en arrière-plan (emails, webhooks, nettoyages) |
| Reverse proxy | NGINX | Terminaison TLS, routage HTTP vers Puma (serveur d'application) |
| Stockage objet | S3-compatible | Artifacts CI/CD, uploads, registre de conteneurs, backups |
Fonctionnalités principales
Section intitulée « Fonctionnalités principales »GitLab couvre cinq grands domaines fonctionnels, intégrés dans une interface unique.
Gestion du code source (SCM)
Section intitulée « Gestion du code source (SCM) »C'est la brique historique, et celle que vous comparerez avec GitHub ou Gitea. Le point à retenir pour un choix de plateforme est le niveau de contrôle sur la revue : dépôts, merge requests et branches protégées sont disponibles dès l'édition Free, tandis que les règles d'approbation avancées et les Code Owners relèvent de Premium. C'est souvent ce détail qui déclenche le passage à l'édition payante dans une équipe qui grandit.
- Dépôts Git avec interface web, éditeur intégré et Web IDE
- Merge requests avec revue de code, discussions en ligne et approbations
- Branches protégées et règles de merge (nombre d'approbateurs, pipelines verts)
- Code Owners pour attribuer automatiquement les reviewers
CI/CD intégré
Section intitulée « CI/CD intégré »Le CI/CD est l'argument principal de GitLab face aux autres forges : il est intégré à la plateforme, pas ajouté par un service tiers. Un pipeline y est décrit dans un seul fichier .gitlab-ci.yml versionné avec le code, et exécuté par des runners que vous installez où vous voulez, y compris sur vos propres machines quand l'instance est en SaaS.
C'est aussi la partie qui consomme votre quota : les minutes de compute listées plus bas ne sont décomptées que pour les runners hébergés par GitLab. Un runner que vous opérez vous-même ne coûte rien en minutes, quel que soit votre plan.
- Pipelines définis en YAML (
.gitlab-ci.yml) avec stages, jobs, règles et matrices - Runners déployables partout (shell, Docker, Kubernetes, autoscaler)
- Artifacts et cache pour accélérer les builds
- Environnements avec déploiement continu, feature flags et rollback
- CI/CD Catalog pour partager des composants réutilisables
Sécurité applicative
Section intitulée « Sécurité applicative »Ces scanners ne s'installent pas : ce sont des jobs de pipeline fournis sous forme de templates que vous incluez dans votre .gitlab-ci.yml. Leurs résultats remontent dans la merge request, ce qui rapproche la détection du moment où le code est écrit, et non d'un rapport hebdomadaire lu par personne.
Attention en revanche au découpage par édition, détaillé dans l'encadré ci-dessous : c'est le domaine où l'écart entre Free et Ultimate est le plus large, et où une démonstration commerciale peut donner une image trompeuse de ce dont vous disposerez réellement.
- SAST (analyse statique du code source)
- DAST (analyse dynamique de l'application en cours d'exécution)
- Dependency Scanning et Container Scanning
- Secret Detection dans le code et les pipelines
- Vulnerability Management avec tableau de bord et politiques de remédiation
- Software Bill of Materials (SBOM) généré automatiquement
Gestion de projet
Section intitulée « Gestion de projet »Cette partie explique pourquoi certaines équipes remplacent Jira par GitLab : les tickets vivent au même endroit que le code, et une merge request qui mentionne Closes #42 ferme l'issue au moment du merge, sans synchronisation à maintenir entre deux outils.
La limite arrive avec la planification à grande échelle. Les issues et les boards suffisent pour une équipe ; regrouper le travail de plusieurs équipes par initiative demande les epics, réservés aux éditions payantes.
- Issues, boards (Kanban), milestones et labels
- Epics pour regrouper les issues par initiative stratégique (Premium+)
- Service Desk intégré pour recevoir des tickets par email
- Suivi de temps et estimation de charge
Registres intégrés
Section intitulée « Registres intégrés »Les registres évitent d'ajouter un Nexus ou un Harbor à côté de la forge : les images et les paquets produits par un pipeline sont publiés dans le projet qui les a construits, avec les mêmes permissions que le dépôt. Un utilisateur qui perd l'accès au projet perd du même coup l'accès aux artefacts.
Prévoyez le stockage en conséquence. Un Container Registry sans politique de nettoyage grossit indéfiniment, et c'est la première cause de saturation disque sur une instance self-managed.
- Container Registry pour stocker et distribuer des images Docker
- Package Registry compatible npm, Maven, PyPI, NuGet, Go, Conan, Terraform
- Virtual Registry pour agréger des registres de paquets distants en un seul endpoint
GitLab Duo : l'IA intégrée
Section intitulée « GitLab Duo : l'IA intégrée »Depuis 2024, GitLab intègre GitLab Duo, une suite d'outils d'intelligence artificielle qui couvre l'ensemble du cycle de développement.
- Code Suggestions : auto-complétion et génération de code dans l'IDE
- Agentic Chat : assistant multi-étapes capable de naviguer dans le contexte du projet
- Agents spécialisés : planification, analyse de sécurité, data insights
- Flows automatisés : création de merge requests depuis un ticket, correction de pipelines, modernisation CI/CD
Éditions et tarifs
Section intitulée « Éditions et tarifs »GitLab propose trois éditions, chacune disponible en SaaS et en self-managed. Le tableau ci-dessous se lit de bas en haut : les lignes du haut (SCM, CI/CD, SAST) sont communes aux trois éditions, celles du bas séparent réellement les offres.
Deux repères pour situer votre besoin. Le passage de Free à Premium s'achète surtout pour la gouvernance du code (approbations, epics, support avec engagement). Le passage à Ultimate s'achète pour la sécurité applicative complète et la conformité. Un tarif par utilisateur et par mois se multiplie vite : à 30 personnes, Premium représente environ 10 000 $ par an.
| Free | Premium | Ultimate | |
|---|---|---|---|
| Tarif | 0 $ | 29 $/utilisateur/mois (annuel) | Sur devis |
| Utilisateurs | 5 (SaaS) / illimités (self-managed) | Illimités | Illimités |
| Compute CI/CD | 400 min/mois | 10 000 min/mois | 50 000 min/mois |
| SCM + CI/CD | ✅ | ✅ | ✅ |
| SAST + Secret Detection | ✅ | ✅ | ✅ |
| Support | Communauté | Prioritaire (SLA) | Prioritaire (SLA) |
| DAST + Container Scanning | ❌ | ❌ | ✅ |
| Dependency Scanning | ❌ | ❌ | ✅ |
| Vulnerability Management | ❌ | ❌ | ✅ |
| Compliance Frameworks | ❌ | ❌ | ✅ |
| Epics + Portfolio Management | ❌ | ✅ | ✅ |
| Value Stream Management | ❌ | ❌ | ✅ |
| Utilisateurs invités illimités | ❌ | ❌ | ✅ |
Quel plan choisir ?
Section intitulée « Quel plan choisir ? »Dans le doute, commencez par Free. La migration d'une édition à l'autre est une simple activation de licence : aucune donnée à déplacer, aucune interruption de service, et les fonctionnalités apparaissent dans l'interface existante. Rien ne justifie donc de payer avant d'avoir constaté un manque précis.
Le raisonnement s'inverse sur un seul point, la conformité réglementaire. Si vous devez produire des preuves d'audit ou appliquer un référentiel imposé, cette exigence arrive dès le premier jour et oriente directement vers Ultimate.
| Contexte | Plan recommandé |
|---|---|
| Projet personnel ou open-source | Free |
| PME avec besoin de CI/CD avancé et support | Premium |
| Enterprise avec conformité, sécurité et gouvernance | Ultimate |
| Équipe en évaluation | Free (puis upgrade si besoin) |
Intégrations et écosystème
Section intitulée « Intégrations et écosystème »GitLab s'intègre avec un large écosystème d'outils. Deux mécanismes couvrent la quasi-totalité des cas : les intégrations natives, configurables dans les paramètres du projet, et les webhooks, qui envoient un message HTTP à l'URL de votre choix sur un événement (push, merge request, pipeline terminé). Quand aucune intégration native n'existe, le webhook reste la porte de sortie.
L'intégration avec HashiCorp Vault mérite d'être connue même si vous ne l'utilisez pas tout de suite : elle permet à un job de récupérer un secret au moment de son exécution, plutôt que de le stocker en variable CI/CD dans GitLab.
- Cloud : AWS, Google Cloud, Azure (marketplaces disponibles)
- Kubernetes : déploiement natif, agent GitLab pour K8s, intégration ArgoCD
- Communication : Slack, Microsoft Teams, Mattermost
- Suivi : Jira (synchronisation bidirectionnelle des issues)
- Sécurité : HashiCorp Vault pour la gestion des secrets dans les pipelines
- IDE : VS Code, JetBrains, Neovim (extensions GitLab Duo)
À retenir
Section intitulée « À retenir »- GitLab est une plateforme DevSecOps complète qui regroupe forge Git, CI/CD, sécurité applicative, gestion de projet et registres de paquets dans une seule application
- Trois formats de déploiement : SaaS (gitlab.com), self-managed (sur votre infra) et Dedicated (mono-tenant géré)
- Le noyau est open-source (licence MIT) ; les fonctionnalités avancées nécessitent une licence Premium ou Ultimate
- La stack technique repose sur Ruby on Rails (application), Go (Gitaly, Runner) et PostgreSQL (données)
- Trois éditions : Free (0 $), Premium (29 $/utilisateur/mois) et Ultimate (sur devis)
- L'empreinte système est significative (~4-8 Go RAM) comparée aux forges légères, mais le périmètre fonctionnel est bien plus large
- GitLab Duo apporte l'IA à chaque étape du cycle de développement