157 lines
5.6 KiB
Markdown
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
|