Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -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