Proxyman : qu'est-ce que c'est, configuration et possibilités de débogage de trafic

Auteur : IT Sectr Publié le : 2026-05-08 Temps de lecture : 8 min

Proxyman est un client proxy natif pour macOS et iOS, conçu pour intercepter, visualiser et modifier le trafic HTTP/HTTPS lors du développement d'applications. D'après le site officiel de Proxyman (2025), l'outil est utilisé par plus de 10 000 entreprises et prend en charge toutes les versions modernes d'iOS et macOS. Ce client proxy propose une version de base gratuite et se distingue de Charles Proxy par une interface plus moderne, la prise en charge de scripts JavaScript pour la modification des données en temps réel et une compatibilité intégrée avec le simulateur iOS.

Points clés

  • Proxyman est un client proxy natif pour macOS et iOS avec une interface moderne et des capacités étendues de débogage de trafic
  • Proxy HTTPS implémenté avec installation automatique du certificat pour le simulateur iOS, simplifiant la configuration par rapport à Charles
  • Scripting est une fonctionnalité unique de Proxyman permettant de modifier les requêtes et réponses à l'aide de scripts JavaScript sans Breakpoints
  • Intégration iOS prend en charge à la fois le simulateur (automatiquement) et les appareils physiques via WiFi Proxy
  • Version gratuite inclut les fonctionnalités de base d'interception de trafic sans limite de temps

Qu'est-ce que Proxyman ?

Proxyman est un client proxy HTTP/HTTPS créé spécifiquement pour l'écosystème Apple. Contrairement aux solutions multiplateformes, Proxyman utilise des frameworks macOS natifs (Swift, AppKit), ce qui garantit des performances élevées et une intégration transparente avec les mécanismes de proxy système. L'outil prend en charge macOS 11+ et iOS 14+.

Positionnement sur le marché

Proxyman se positionne comme une alternative moderne à Charles Proxy pour les développeurs de l'écosystème Apple. Principaux avantages : version gratuite avec fonctionnalités de base complètes, interface native correspondant au système de design macOS et configuration automatique pour le simulateur iOS sans étapes supplémentaires. Proxyman est activement développé depuis 2018 et dispose d'un système de feedback ouvert avec la communauté des développeurs.

Plateformes prises en charge

Proxyman fonctionne sur macOS (application native, pas Electron) et fournit une application compagnon pour iOS. Les appareils physiques (iPhone, iPad) sont configurés via WiFi Proxy de manière similaire à Charles. L'application compagnon iOS (Proxyman iOS companion) permet de visualiser le trafic directement sur l'appareil sans ordinateur — cette fonctionnalité est unique à Proxyman.

Comment fonctionne Proxyman

Proxyman fonctionne selon le principe MITM standard : l'application est configurée comme un proxy système à travers lequel passe tout le trafic HTTP/HTTPS. L'outil utilise les mécanismes natifs Network Extension de macOS pour intercepter le trafic sans nécessiter de configuration manuelle de proxy pour le simulateur iOS.

Mécanisme d'interception sur macOS

Sur macOS, Proxyman utilise Apple Network Framework pour l'interception transparente du trafic. Lorsque le proxy est activé, Proxyman crée une interface réseau virtuelle à travers laquelle passe le trafic de toutes les applications. Pour le simulateur iOS, la configuration se fait automatiquement au démarrage — Proxyman détecte les simulateurs en cours d'exécution via Xcode et redirige leur trafic sans configuration manuelle du proxy dans les paramètres.

Traitement du trafic HTTPS

Pour le déchiffrement HTTPS, Proxyman installe un certificat racine local dans le trousseau système macOS. Au premier lancement, le programme invite à installer et à approuver le certificat. Tous les certificats pour des domaines spécifiques sont générés à la volée et signés avec le certificat racine Proxyman. Pour le simulateur iOS, le certificat est installé automatiquement au démarrage du proxy.

js
// Exemple de script Proxyman pour modifier une réponse
// Scripting : changer le statut de la réponse en 500 pour tester les erreurs
function onResponse(request, response) {
    if (request.url.includes("/api/users")) {
        response.statusCode = 500;
        response.body = JSON.stringify({
            error: "Internal Server Error",
            code: "SERVER_TIMEOUT"
        });
    }
    return response;
}

Principales fonctionnalités de Proxyman

Proxyman fournit un ensemble unique de fonctionnalités qui le distinguent des autres outils proxy. L'accent est mis sur la modification du trafic par scripts et les performances natives.

Scripting — modification via JavaScript

La principale caractéristique de Proxyman est la prise en charge de scripts JavaScript pour modifier les requêtes et réponses. Au lieu de modifier manuellement chaque requête via des Breakpoints (comme dans Charles), le développeur peut écrire un script qui s'appliquera automatiquement à des URL spécifiques. Les scripts ont un accès complet aux en-têtes, au corps de la requête et de la réponse, aux codes d'état et aux métadonnées. Cela permet d'automatiser les opérations courantes : remplacement de jetons, modification d'en-têtes, simulation d'erreurs pour les tests.

Filtrage et organisation du trafic

Proxyman offre un système de filtres flexible basé sur des règles. Vous pouvez créer des profils qui regroupent automatiquement le trafic par domaines, types de contenu ou codes d'état. Par exemple, toutes les requêtes vers l'API de votre application sont automatiquement regroupées, tandis que les ressources statiques (CSS, JS, images) vont dans un autre groupe. Ceci est particulièrement utile lors du débogage lorsque vous devez vous concentrer uniquement sur des endpoints spécifiques.

FonctionnalitéProxymanCharles ProxyRemarque
ScriptingJavaScriptNonModification automatique sans Breakpoints
Simulateur iOSAutomatiqueConfiguration manuelleProxyman détecte le simulateur via Xcode
Version gratuiteOui30 jours d'essaiProxyman — sans limite de temps
PlateformemacOS, iOSWindows, macOS, LinuxCharles est multiplateforme, Proxyman — Apple uniquement
Export HAROuiOuiLes deux prennent en charge le format standard

Visualisation de la chronologie

Proxyman affiche une chronologie des requêtes à la manière d'un diagramme de Gantt, où chaque requête est représentée par une barre colorée indiquant la durée, le statut et la taille. La chronologie est interactive : vous pouvez sélectionner une plage temporelle et voir uniquement les requêtes de cette période. Pour chaque requête, une répartition par phase est disponible : DNS, Connect, TLS Handshake, Request, Response.

Proxyman iOS Companion

Une capacité unique de Proxyman est une application iOS distincte qui peut être installée sur un iPhone ou un iPad. Elle permet de visualiser le trafic réseau directement sur l'appareil sans connexion à un ordinateur. Le trafic est affiché en temps réel avec des capacités de filtrage et de recherche. L'application est particulièrement utile pour les tests sur le terrain lorsqu'aucun ordinateur n'est disponible.

Configurer Proxyman pour les appareils mobiles

Proxyman propose différentes méthodes de configuration pour iOS et Android. Grâce à l'intégration native avec Xcode, la configuration pour le simulateur iOS est presque automatique. Pour les appareils physiques et Android, une configuration manuelle est requise.

Configuration pour le simulateur iOS

Le scénario le plus simple : lancez Proxyman, ouvrez l'onglet iOS Simulator et cliquez sur Start. Proxyman détecte automatiquement les simulateurs en cours d'exécution via Xcode et configure le proxy. Le certificat HTTPS est également installé automatiquement. Aucune action supplémentaire n'est requise — le trafic du simulateur apparaît immédiatement dans la fenêtre Proxyman. C'est un avantage significatif par rapport à Charles, où la configuration du simulateur nécessite une configuration manuelle du proxy.

Configuration pour les appareils iOS physiques

Pour iPhone ou iPad : connectez l'appareil au même réseau WiFi que l'ordinateur. Dans les paramètres WiFi de l'appareil, spécifiez le proxy HTTP : l'adresse IP de l'ordinateur et le port 9090 (port par défaut de Proxyman). Ouvrez ensuite Safari et allez sur http://proxy.man/ssl pour installer le certificat. Sur iOS 10.3+, assurez-vous d'activer la confiance du certificat dans Settings → General → About → Certificate Trust Settings.

Configuration pour Android

Les appareils Android sont configurés de manière similaire à iOS : proxy WiFi avec l'adresse IP de l'ordinateur et le port 9090. Pour HTTPS, vous devez installer le certificat via le navigateur sur http://proxy.man/ssl. Sur Android 7+ pour les builds de débogage, vous aurez besoin d'un fichier network_security_config.xml approuvant les certificats utilisateur. Pour l'émulateur Android, utilisez l'adresse IP de l'hôte (généralement 10.0.2.2) au lieu de l'IP de l'ordinateur.

xml
<!-- network_security_config.xml pour Android avec Proxyman -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="user" />
            <certificates src="system" />
        </trust-anchors>
    </debug-overrides>
    <base-config cleartextTrafficPermitted="false">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

Proxyman vs Charles Proxy : comparaison

Le choix entre Proxyman et Charles Proxy dépend des besoins spécifiques de votre équipe et de la plateforme de développement. Examinons les principales différences pour aider les développeurs à prendre une décision éclairée.

Performances et intégration native

Proxyman est écrit en Swift avec AppKit, offrant des performances natives macOS et une consommation mémoire minimale. Charles est écrit en Java (Eclipse RCP), ce qui permet une compatibilité multiplateforme mais peut entraîner une consommation mémoire légèrement plus élevée et une interface non native sur macOS. Pour les développeurs de l'écosystème Apple, Proxyman semble généralement plus réactif.

Différences fonctionnelles

Charles propose un ensemble d'outils plus mature et plus large : Rewrite Rules avec éditeur visuel, Repeat pour répéter les requêtes, Map Local/Remote, Auto Save des sessions. Proxyman répond avec des fonctionnalités plus modernes : Scripting en JavaScript, configuration automatique du simulateur et un compagnon iOS pour visualiser le trafic sur l'appareil. Charles a l'avantage dans les scénarios d'automatisation complexes (Rewrite, Repeat), tandis que Proxyman excelle dans la modification rapide et flexible via des scripts.

Coût et licence

Proxyman propose une version gratuite avec des fonctionnalités de base sans limite de temps. La version Pro (abonnement ~12$/an ou achat unique ~59$) débloque des fonctionnalités avancées : scripting, filtres, exportation. Charles coûte 50$ par licence avec un essai de 30 jours. Pour les développeurs indépendants, Proxyman est plus abordable ; pour les environnements d'entreprise, la différence est négligeable.

Questions fréquentes

Proxyman est-il gratuit ?

Proxyman dispose d'une version gratuite avec des fonctionnalités de base d'interception de trafic HTTP/HTTPS sans limite de temps. Les abonnements payants (Pro et Team) ajoutent le scripting, les filtres avancés, l'exportation HAR et le support prioritaire. Pour la plupart des tâches de débogage, la version gratuite est suffisante.

Proxyman prend-il en charge Android ?

Proxyman est une application macOS native, mais il peut intercepter le trafic des appareils Android via WiFi Proxy de manière similaire à Charles. Les appareils Android sont configurés comme proxy HTTP avec l'adresse IP de l'ordinateur et le port de Proxyman. Pour l'émulateur Android, utilisez l'IP 10.0.2.2. Le certificat HTTPS est installé séparément.

Comment modifier la réponse du serveur dans Proxyman ?

Il existe deux méthodes : Local Edit — double-cliquez sur une requête, sélectionnez l'onglet Response, modifiez manuellement, puis cliquez sur Execute pour envoyer la réponse modifiée à l'application. Scripting — écrivez un script JavaScript qui applique automatiquement des modifications à des URL spécifiques à chaque requête.

Puis-je exporter des données depuis Proxyman ?

Oui, Proxyman prend en charge l'exportation vers les formats : HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (pour chaque requête), Plain Text. L'exportation est disponible via le menu contextuel sur une requête ou un groupe de requêtes. Le format HAR est compatible avec Charles Proxy, Chrome DevTools et les visualiseurs en ligne.

Comment Proxyman fonctionne-t-il avec le simulateur iOS ?

Proxyman détecte automatiquement les simulateurs iOS en cours d'exécution via Xcode et redirige leur trafic sans configuration manuelle. Lorsque le proxy démarre, Proxyman injecte un proxy système via Network Extension sur macOS, qui s'applique automatiquement à tous les simulateurs. Le certificat HTTPS est également installé automatiquement.

Résumé

  • Proxyman est un client proxy natif pour macOS et iOS avec une interface Swift moderne, créé comme alternative à Charles Proxy pour l'écosystème Apple
  • Scripting en JavaScript est une fonctionnalité unique permettant la modification automatique des requêtes et réponses sans Breakpoints, accélérant les tests de cas limites
  • Configuration automatique pour le simulateur iOS via Xcode sans configuration manuelle du proxy — un avantage clé par rapport à Charles
  • iOS Companion — une application séparée pour visualiser le trafic directement sur iPhone ou iPad sans connexion à un ordinateur
  • Performances grâce aux frameworks natifs Swift/AppKit — consommation mémoire réduite par rapport aux solutions basées sur Java
  • Version gratuite avec fonctionnalités de base complètes et sans limite de temps, adaptée à la plupart des tâches de débogage
  • Pour le développement multiplateforme (Windows + macOS + Linux), choisissez Charles Proxy ; pour un écosystème Apple pur, Proxyman offre la meilleure expérience utilisateur

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi