Files
2026-06-09 18:40:21 +02:00

7.3 KiB


title: Review Board created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, code-review, git, python, svn, mercurial, legacy] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/reviewboard/reviewboard]

💻 Review Board

L'ancêtre open source de la code review : créé en 2006 par VMware, Review Board reste un outil de référence pour les équipes qui veulent un workflow de revue de code structuré, scriptable, et compatible multi-VCS (Git, SVN, Mercurial, Perforce).

📋 Informations Générales

Champ Valeur
Site web reviewboard.org
GitHub reviewboard/reviewboard
License MIT
Langage Python (Django)
Étoiles GitHub 1,7k
Dernière MAJ 2026-06-07
Catégorie cat-development, Code Review

📝 Description

Review Board est un outil de code review open source créé en 2006 par VMware (développé originellement par Christian Hammond et David Trowbridge), bien avant la généralisation de GitHub/GitLab. C'est l'un des plus anciens projets de code review encore activement maintenus, et il équipe des organisations comme Apache Software Foundation, Mozilla, Docker, Samsung.

L'idée : offrir un workflow de review structuré (review requests, review drafts, ship-it, screenshots, comments inline, batch updates) indépendant de la plateforme d'hébergement Git. Contrairement à GitHub/GitLab où la code review est intégrée au workflow Git, Review Board fonctionne comme un layer transverse : on peut review du code venant de Git, SVN, Mercurial, Perforce, Plastic, ClearCase — utile pour les organisations qui mixent les VCS ou qui ont des legacy.

Review Board se distingue par sa maturité (20 ans d'évolution), son API REST complète (scriptable, intégrable), et son écosystème d'extensions (Power Pack commercial, Review Bot). Pour les équipes enterprise ou les projets open source matures qui veulent un outil de review dédié (et pas juste un tab "Pull Request"), c'est une option solide.

Public cible : équipes enterprise, projets open source, organisations multi-VCS, équipes qui veulent un workflow de review explicite et auditable.

Fonctionnalités principales

  • Multi-VCS : Git, SVN, Mercurial, Perforce, Plastic, ClearCase, CVS
  • Review requests : formel, structuré, avec champs description/testing
  • Diff viewer : side-by-side, unified, syntax highlighting 100+ langages
  • Commentaires inline ancrés sur le code (fichier + ligne)
  • Screenshots / attachments : pièces jointes aux reviews
  • Ship-it ! : validation rapide d'un review
  • Batch updates : publier plusieurs review comments en une fois
  • Statuts : pending, submitted, discarded, archived
  • API REST complète : tout est scriptable
  • Webhooks : intégration CI/CD (Jenkins, GitHub Actions)
  • Extensions : Power Pack (statistiques), Review Bot (lint auto)
  • Maturité enterprise : SSO SAML, audit, LDAP/AD

🚀 Installation

Via Docker (community)

# docker-compose.yml
version: '3.8'
services:
  reviewboard:
    image: beanbag/reviewboard:latest
    container_name: reviewboard
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      REVIEWBOARD_SITE_DOMAIN: "review.example.com"
      REVIEWBOARD_SITE_ROOT: "/"
      REVIEWBOARD_SITE_ADMIN_MEDIA: "admin/"
      REVIEWBOARD_DB_ENGINE: "django.db.backends.postgresql"
      REVIEWBOARD_DB_NAME: reviewboard
      REVIEWBOARD_DB_USER: reviewboard
      REVIEWBOARD_DB_PASSWORD: changez-moi
      REVIEWBOARD_DB_HOST: db
      REVIEWBOARD_REPO_SSH_HOST: "review.example.com"
      REVIEWBOARD_ALLOWED_HOSTS: "review.example.com"
    volumes:
      - reviewboard_data:/var/www/reviewboard
    depends_on:
      - db
      - memcached
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.review.rule=Host(`review.example.com`)"
      - "traefik.http.routers.review.entrypoints=websecure"
      - "traefik.http.routers.review.tls.certresolver=letsencrypt"

  db:
    image: postgres:16-alpine
    container_name: reviewboard-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: reviewboard
      POSTGRES_PASSWORD: changez-moi
      POSTGRES_DB: reviewboard
    volumes:
      - reviewboard_db:/var/lib/postgresql/data

  memcached:
    image: memcached:1.6-alpine
    container_name: reviewboard-memcached
    restart: unless-stopped

volumes:
  reviewboard_data:
  reviewboard_db:

Installation manuelle (Debian/Ubuntu)

sudo apt install -y python3-pip python3-dev memcached postgresql libmemcached-dev
sudo -u postgres createuser --createdb --superuser reviewboard
sudo -u postgres createdb -O reviewboard reviewboard
sudo pip install ReviewBoard
sudo rb-site install /var/www/reviewboard
sudo rb-site manage /var/www/reviewboard runserver

⚙️ Configuration

  1. Créer un compte admin : premier accès sur https://review.example.com
  2. Ajouter un repository : Admin > Repositories > Add > type (Git/SVN) + URL
  3. Configurer les groupes d'utilisateurs : Admin > Users / Groups
  4. Intégration CI/CD : webhooks post-commit ou pre-merge
  5. Extensions : installer Power Pack (commercial, statistiques), Review Bot (auto-lint)
  6. SSO : configurer LDAP/AD ou SAML (Power Pack)
  7. Sauvegardes : DB PostgreSQL + reviewboard_data (uploads)

🔗 Alternatives

  • Gerrit — Concurrent direct, basé sur Git uniquement, plus "engineering-heavy"
  • Phabricator — Suite complète (Differential + Diffusion + Herald), abandonnée
  • GitLab — Code review intégrée, leader du marché moderne
  • GitHub Pull Requests — Standard pour projets open source
  • Crucible — Atlassian, propriétaire, cher
  • Gitea/Forgejo — Plateforme Git légère, PRs intégrées
  • RhodeCode — Plateforme centralisée (Git + Mercurial), plus large

🔒 Sécurité

  • 🔐 HTTPS obligatoire via app-traefik : Review Board contient potentiellement du code source sensible
  • 🛡️ Authentification forte : configurer SSO/SAML (LDAP, Google, GitHub OAuth)
  • 🔒 Permissions par repository : configurer groupes d'accès, lecture seule par défaut
  • 🛡️ API tokens : utiliser des tokens à scope limité pour les intégrations CI/CD
  • 🛡️ Audit log : conserver les logs d'accès (intégration Power Pack)
  • 🛡️ Sauvegardes chiffrées : DB PostgreSQL + uploads

📚 Ressources

🔗 Pages Liées