Initial vault setup
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user