1. La Pull Request / Merge Request comme contrat d’assurance qualité

Dans un flux DevOps d’entreprise, aucune ligne de code n’est intégrée dans la branche de production sans franchir le sas d’une Pull Request (GitHub) ou Merge Request (GitLab). La PR constitue un espace d’audit par les pairs, de vérification d’architecture et de validation automatique de sécurité.

2. La norme des Conventional Commits

L’automatisation du calcul de version sémantique (SemVer : MAJOR.MINOR.PATCH) et de la génération des journaux de modifications (Changelog) exige une syntaxe normalisée pour chaque message de commit :

<type>[portée optionnelle]: <description concise>

[corps de texte explicatif détaillé]

[pied de page : références aux tickets Jira / GitLab et breaking changes]
  • feat: Nouvelle fonctionnalité pour l’utilisateur (incrémente MINOR).
  • fix: Correction d’un bogue en production (incrémente PATCH).
  • chore: Maintenance des dépendances ou des outils de build.
  • docs: Modification exclusive de la documentation technique.
  • refactor: Modification de code n’altérant ni le comportement ni les tests.
  • BREAKING CHANGE: Rupture de compatibilité ascendante (incrémente MAJOR).

3. Automatisation des contrôles en amont avec les hooks Git

Empêchez l’envoi de code non formaté ou contenant des mots de passe grâce au framework pre-commit :

# Fichier de configuration : .pre-commit-config.yaml
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
      - id: check-added-large-files
  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.18.0
    hooks:
      - id: gitleaks # Bloque les clés AWS, tokens GitHub ou secrets privés

Branch Protection Rules : Configurez vos dépôts pour exiger au minimum deux approbations de relecteurs seniors et le passage réussi au vert de la chaîne CI avant d’autoriser la fusion du code.