--- 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](https://www.reviewboard.org/) | | **GitHub** | [reviewboard/reviewboard](https://github.com/reviewboard/reviewboard) | | **License** | MIT | | **Langage** | Python (Django) | | **Étoiles GitHub** | 1,7k ⭐ | | **Dernière MAJ** | 2026-06-07 | | **Catégorie** | [[cat-development\|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) ```yaml # 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) ```bash 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 - [Site officiel](https://www.reviewboard.org/) - [Documentation](https://www.reviewboard.org/docs/) - [GitHub reviewboard/reviewboard](https://github.com/reviewboard/reviewboard) - [Power Pack (commercial)](https://www.reviewboard.org/power-pack/) - [Review Bot](https://www.reviewboard.org/downloads/reviewbot/) - [Liste des déploiements notables](https://www.reviewboard.org/users/) ## 🔗 Pages Liées - [[cat-development]] — Catégorie Development - [[app-gitea]] — Plateforme Git légère avec PRs intégrées - [[app-gitlab]] — Plateforme DevOps complète (code review incluse) - [[app-traefik]] — Reverse proxy HTTPS - [[securisation-home-lab]] — Bonnes pratiques - [[recettes-docker-compose]] — Templates Docker