Par Anonyme (non vérifié) , 29 avril 2026

Cadrer la décision

"Quel VCS devrions-nous utiliser ?" a rarement une réponse correcte. Le bon cadrage est : "Quelles contraintes notre travail impose-t-il, et quel système convient le mieux ?"

Contraintes de charge de travail

  • Principalement code texte, branching fréquent → Git.
  • Principalement contenu binaire, verrous exclusifs essentiels → Perforce.
  • Mixte, avec code et assets séparables proprement → faites tourner les deux.
  • Contrôle centralisé avec branching simple → SVN reste acceptable.

Contraintes d'équipe

  • Distribué, souvent offline → VCS distribué.
  • Mono-site, toujours online → l'un ou l'autre modèle.
  • Mixte avec non-ingénieurs → UX plus amicale compte.
  • Contributeurs open source → Git, sans question.

Contraintes d'écosystème

  • Modernité CI/CD → Git massivement.
  • Engine de jeu / tooling DCC → Perforce souvent.
  • Infrastructure existante → la continuité a une vraie valeur.

Contraintes de conformité

  • Contrôle d'accès par chemin → Perforce ou SVN.
  • Audit côté serveur des opérations de lecture → systèmes centralisés.
  • Commits signés → Git avec tooling classe sigstore.

Contraintes de coût

  • Bootstrap sans budget → Git sur GitHub free tier, GitLab CE ou Gitea.
  • Entreprise financée avec besoins binaires → Perforce se justifie.
  • Équipe SaaS de taille moyenne → tier payant GitHub ou GitLab.

Arbre de décision

1. La majorité de votre contenu est-elle binaire non-mergeable ?
   Oui → Perforce (ou Perforce + Git hybride). Stop.
   Non → continuer.

2. Avez-vous besoin de contrôle d'accès par chemin ou d'audit de lecture ?
   Oui → SVN, Perforce, ou Git avec investissement significatif en tooling.
   Non → continuer.

3. Les contributeurs travaillent-ils offline ou distribués ?
   Oui → Git (ou Mercurial). Continuer.
   Non → l'un ou l'autre modèle convient.

4. Avez-vous besoin de l'écosystème style GitHub ?
   Oui → Git. Stop.
   Non → considérez Mercurial pour l'UX, SVN pour la centralisation.

5. Défaut → Git.

Scénarios d'exemple

  • Startup web SaaS, 5 ingénieurs → Git sur GitHub ou GitLab.
  • Studio de jeu, 200 personnes → Perforce pour assets, Git pour code.
  • Agence gouvernementale, régulée, 50 ingénieurs → GitLab self-hosté.
  • Bibliothèque open source → Git sur GitHub.
  • Tooling corporatif interne, 20 ingénieurs → Git reste la réponse.
  • Firme de design hardware avec travail CAD-heavy → Perforce.

Chemins de migration

# SVN vers Git
git svn clone --stdlayout --authors-file=authors.txt <url>

# Mercurial vers Git
~/fast-export/hg-fast-export.sh -r <hg-repo>

# Perforce vers Git
git p4 clone //depot/main@all my-git-repo

Éviter la paralysie d'analyse

Si vous ne pouvez pas décider, la réponse est Git.

Réviser le choix

Réévaluez tous les deux ans.