L’article de Mat Marquis sur Piccalilli explore l’utilisation des Proxy et Reflect en JavaScript, des outils puissants pour intercepter et modifier les opérations internes sur les objets. L’auteur explique comment ces mécanismes permettent de mieux comprendre le fonctionnement profond du langage, un atout pour les développeurs souhaitant progresser vers un niveau senior. Il illustre leur utilité en montrant comment un Proxy agit comme intermédiaire entre un objet cible et les opérations qui lui sont appliquées, tout en soulignant leur rôle dans l’apprentissage des mécanismes internes de JavaScript.
L’article s’inscrit dans le cadre du cours JavaScript for Everyone de Piccalilli, bien que présenté comme un extrait non listé, laissant planer un mystère sur son intégration future. Marquis aborde ensuite la structure des objets JavaScript, détaillant les étapes internes déclenchées par l’accès à une propriété (comme la recherche dans la chaîne de prototypes ou l’invocation d’un accesseur), avant d’introduire le Proxy comme moyen de personnaliser ces comportements.
Enfin, l’auteur propose un exemple concret de création d’un Proxy, avec un objet cible et un gestionnaire vide, montrant comment l’objet proxy résultant encapsule à la fois la cible et le gestionnaire via des slots internes. L’article se termine sur une note engageante, invitant le lecteur à explorer davantage ces fonctionnalités pour maîtriser JavaScript au-delà de la syntaxe.
Proxelar est un proxy MITM (Man-in-the-Middle) programmable écrit en Rust, conçu pour intercepter, inspecter et modifier le trafic HTTP/HTTPS. Il permet de transformer les requêtes et réponses en temps réel via des scripts Lua, offrant ainsi un outil puissant pour le débogage d'API, l'analyse de services tiers ou le test d'applications mobiles. Le projet propose plusieurs modes de fonctionnement (proxy avant/arrière) et des interfaces variées (terminal, TUI interactive, interface web).
Parmi ses fonctionnalités clés, Proxelar inclut l'interception automatique des connexions HTTPS grâce à une autorité de certification intégrée, ainsi qu'un système de filtrage avancé pour analyser les requêtes. Il prend en charge l'inspection des flux WebSocket et permet une installation simplifiée du certificat racine via une page dédiée. Le projet est distribué sous licence MIT et peut être installé via Cargo, Homebrew ou Docker.
Le dépôt GitHub du projet met en avant des contributions actives, avec des mises à jour régulières et une documentation en constante amélioration, incluant des exemples de scripts Lua pour personnaliser le comportement du proxy.
Forward Proxy vs Reverse Proxy : Le forward proxy agit comme un intermédiaire entre le client et internet, filtrant les requêtes (ex : contrôle d’accès, cache, anonymat) et nécessitant une configuration côté client, tandis que le reverse proxy se place entre internet et le serveur, protégeant ce dernier (ex : équilibrage de charge, sécurité, TLS termination, cache) et masquant son adresse IP. Le premier est utile pour gérer les requêtes sortantes (ex : réseaux d’entreprise), le second pour optimiser et sécuriser les requêtes entrantes (ex : sites web à fort trafic). En résumé, le forward proxy sert le client, le reverse proxy sert le serveur.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Les proxies JavaScript permettent de modifier le comportement d'un objet, par exemple en interceptant l'appel à une de ses méthodes. L'auteur donne 2 exemples d'utilisation :
- le profiling d'un objet : compter le nombre d'accès à une de ses propriétés
- le 2 way data binding
Seul inconvénient : il n'existe pas de polyfill pour les vieux navigateurs