Files
wiki/Catalogue-Self-Hosted/apps/app-requestly.md
T
2026-06-09 18:40:21 +02:00

157 lines
5.6 KiB
Markdown

---
title: Requestly
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, http, debug, mock, proxy, devtools]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/requestly/requestly]
---
# 💻 Requestly
> **Suite d'outils pour développeurs web** : intercepter, modifier, mocker, rediriger et debugger les requêtes HTTP(S) directement dans le navigateur. Une alternative moderne aux DevTools natifs.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [requestly.com](https://requestly.com/) |
| **GitHub** | [requestly/requestly](https://github.com/requestly/requestly) |
| **License** | AGPL-3.0 (self-hosted possible) |
| **Langage** | TypeScript / JavaScript |
| **Étoiles GitHub** | 6 725 ⭐ |
| **Catégorie** | [[cat-development\|Development]] |
| **Note** | Existe en **SaaS** (gratuit freemium) et en **extension navigateur** open source. La partie serveur / desktop app est plus limitée en self-hosted, l'usage principal est **extension Chrome/Firefox/Edge**. |
## 📝 Description
**Requestly** est une **boîte à outils HTTP pour développeurs web**, conçue pour simplifier le debug, le test et le mock d'APIs. Initialement une extension navigateur, Requestly permet :
- **Rediriger des requêtes** : ex. pointer `api.prod.com` vers `localhost:3000` (interception)
- **Mocker des APIs** : renvoyer une réponse JSON statique sans appeler le backend
- **Modifier les headers** : ajouter un `Authorization`, changer un `Origin`, etc.
- **Modifier le body** : injecter du JSON, modifier la réponse
- **Throttle / Latence simulée** : tester la résilience à un réseau lent
- **Bloquer des requêtes** : supprimer les trackers, ads, ou appels inutiles
- **Modifier les User-Agents** : tester la version mobile
- **Scripting JS** : modifier dynamiquement (insert, replace, regex sur body)
**Cibles principales** :
- Développeurs front-end (test sans backend, switcher d'environnement)
- Développeurs back-end (mock d'APIs tierces, simuler des pannes)
- QA / Testeurs (reproduire des bugs en rejouant des requêtes)
- DevOps (tester le comportement en cas de latence, erreur 500…)
**Format des règles** : JSON déclaratif, partageable entre équipe (`.rqz` ou URL publique)
**Composants** :
- **Extension navigateur** (Chrome / Firefox / Edge) — cœur de l'outil
- **Desktop app** (Electron) — version standalone
- **Web app** (SaaS) — partage de règles en équipe
- **API mocking server** — open source, peut être self-hosted
- **Session recording** (Pro) — replay de sessions
**Différence avec DevTools** : Requestly ajoute **persistance**, **partage de règles**, **mocks complexes** et **règles conditionnelles** (par domaine, méthode, pattern…).
## 🚀 Installation
### Installation extension navigateur (cas d'usage principal)
```bash
# Chrome / Edge / Brave
# Ouvrir chrome://extensions
# Activer le mode développeur
# Chercher "Requestly" sur le Chrome Web Store et installer
# Firefox
# Aller sur addons.mozilla.org → chercher "Requestly"
```
### Mock Server auto-hébergé (Docker)
```yaml
# docker-compose.yml
version: '3.8'
services:
requestly-mock:
image: requestly/mock-server:latest
container_name: requestly-mock
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- requestly-mocks:/app/mocks
networks:
- proxy
volumes:
requestly-mocks:
networks:
proxy:
external: true
```
### Exemple de règle (format JSON)
```json
{
"name": "Mock API users",
"type": "MockServer",
"pairs": [{
"source": {
"key": "api.example.com",
"value": "/users/123"
},
"destination": "https://mock.example.com/static/user.json"
}]
}
```
## ⚙️ Configuration
1. **Créer une règle** : menu `+ New Rule`, choisir le type (Redirect, Mock, Modify, Block, Throttle…)
2. **Source/Destination** : préciser pattern (URL, method, headers)
3. **Conditions** : si la règle ne s'applique que pour certains domaines / headers
4. **Groupes** : activer/désactiver plusieurs règles ensemble
5. **Partage** : exporter en JSON, lien partageable (Pro)
6. **Variables d'environnement** : `{{env}}` dans les règles
## 🔗 Alternatives
- **Charles Proxy** — Proxy HTTP/HTTPS payeur (Mac/Windows/Linux)
- **mitmproxy** — Proxy open source, ligne de commande
- **Postman Mock Server** — Mocks d'API dédiés
- **Mocky.io / Beeceptor** — Services SaaS de mock
- **Chrome DevTools (Override content)** — Native, plus limité
- **Bruno** — Client API open source avec mocking
- **Fiddler** (Telerik) — Proxy historique, Windows
## 🔒 Sécurité
- **Requestly voit TOUT le trafic HTTPS** via son extension : ne l'utiliser que sur des sites de confiance
- **Ne pas activer de règles sensibles en prod** : le `block` peut casser des sites
- **Rules partagées** : attention aux données sensibles dans les headers/body
- **Mocks auto-hébergés** : ne pas exposer publiquement, ou protéger par auth
- **Logs** : Requestly peut logger les requêtes — désactiver si données sensibles
- **Permissions** : l'extension demande `Read & Change all your data on websites` — classique pour ce type d'outil
## 📚 Ressources
- [Site officiel](https://requestly.com/)
- [GitHub requestly/requestly](https://github.com/requestly/requestly)
- [Documentation](https://docs.requestly.com/)
- [Bibliothèque de règles](https://requestly.com/rules)
## 🔗 Pages Liées
- [[cat-development]] — Catégorie Development
- [[app-traefik]] — Reverse proxy (debug en labo)
- [[recettes-docker-compose]] — Templates Docker
- [[app-sonarqube]] — Qualité code (autre outil dev)
- [[securisation-home-lab]] — Bonnes pratiques