⚡

MCH SOFTS

đŸ–„ïž Windows ‱ đŸ“± Android ‱ 🌐 Extensions Chrome
Extension Chrome · Manifest V3

Header Controller

Header Controller est une extension Google Chrome qui aide les dĂ©veloppeurs et les testeurs Ă  personnaliser certains en-tĂȘtes de requĂȘtes HTTP, Ă  gĂ©rer des rĂšgles d'application pour des sites spĂ©cifiques, et Ă  tester le rendu de sites dans un vĂ©ritable iframe.

L'extension combine la gestion des en-tĂȘtes de requĂȘtes et un espace de test intĂ©grĂ© appelĂ© Iframe lab. Elle repose sur Manifest V3 et l'API officielle Chrome declarativeNetRequest, et fonctionne sans crĂ©ation de compte.

Header Controller

Fonctionnalités principales

Personnalisation des en-tĂȘtes HTTP

CrĂ©ez des rĂšgles pour dĂ©finir les valeurs d'en-tĂȘtes de requĂȘtes : User-Agent, Referer, Origin, ou des en-tĂȘtes personnalisĂ©s. Activez ou dĂ©sactivez chaque en-tĂȘte indĂ©pendamment, activez ou dĂ©sactivez chaque rĂšgle, et utilisez un interrupteur global pour contrĂŽler les modifications des rĂšgles enregistrĂ©es.

Gestion de plusieurs rĂšgles

La page de paramĂštres avancĂ©s affiche la liste des rĂšgles enregistrĂ©es et vous permet de : crĂ©er et nommer une rĂšgle, dĂ©finir le site cible, ajouter plusieurs en-tĂȘtes, modifier et supprimer des rĂšgles, les activer ou les dĂ©sactiver, les rĂ©ordonner pour dĂ©finir la prioritĂ©, et restaurer les paramĂštres par dĂ©faut.

Ciblage des sites et permissions

Appliquez des rÚgles à une origine spécifique comme https://example.com (incluant le protocole, le nom d'hÎte et le port). Les sous-domaines ou protocoles différents ne sont pas inclus automatiquement. Vous pouvez aussi appliquer les rÚgles à tous les sites HTTP et HTTPS, aprÚs avoir accordé explicitement la permission.

Ouverture de sites dans un iframe réel

La page Iframe lab offre un espace dédié pour tester des sites dans un véritable élément iframe : champ de saisie d'URL HTTP/HTTPS, bouton d'ouverture, bouton de rechargement, affichage de l'URL demandée, agrandissement de l'iframe, bouton d'ouverture dans un onglet normal, et messages d'état.

User-Agent et Referer depuis le lab

Saisissez directement User-Agent et Referer à cÎté du lien, puis cliquez sur « Apply headers & open iframe ». L'extension applique les modifications avant le début de la navigation de l'iframe, en utilisant des rÚgles temporaires propres à l'onglet du lab et à l'origine du lien.

ContrĂŽle du Sandbox

L'option « Enable iframe sandbox » est activée par défaut et ajoute des restrictions à l'iframe. Vous pouvez la désactiver pour tester des sites qui refusent de fonctionner dans un iframe sandboxé. La modification nécessite de rouvrir ou recharger l'iframe, et le mode appliqué s'affiche à cÎté de l'URL demandée.

Affichage du code source HTML

Le bouton « View page source » rĂ©cupĂšre le code source du lien saisi et l'affiche sous forme de texte. Il s'agit d'une requĂȘte sĂ©parĂ©e, sans identifiants, qui ne suit pas les redirections, avec un dĂ©lai d'attente et une limite de taille. Ce code n'est pas une copie du DOM live dans l'iframe.

Aide et diagnostics

La page « Help & diagnostics » explique comment utiliser les outils de dĂ©veloppement Chrome pour comprendre les causes d'Ă©chec : X-Frame-Options, CSP frame-ancestors, CSP frame-src, vĂ©rification des en-tĂȘtes rĂ©ellement envoyĂ©s, comparaison entre ouverture directe et iframe, erreurs CORS, problĂšmes SameSite et cookies tiers, et problĂšmes rĂ©seau.

En détail

Gestion des en-tĂȘtes et des rĂšgles

La page de paramĂštres avancĂ©s vous permet de crĂ©er des rĂšgles qui dĂ©finissent les valeurs d'en-tĂȘtes de requĂȘtes. Les en-tĂȘtes pris en charge incluent :

L'extension valide les noms et valeurs d'en-tĂȘtes avant l'enregistrement et rejette les entrĂ©es invalides, comme les valeurs contenant des retours Ă  la ligne, ainsi que certains en-tĂȘtes sensibles ou contrĂŽlĂ©s par le navigateur. Lorsque plusieurs rĂšgles ciblent le mĂȘme en-tĂȘte, la prioritĂ© va Ă  la rĂšgle la plus haute dans la liste, tandis que les en-tĂȘtes diffĂ©rents peuvent se complĂ©ter.

Iframe lab

La page Iframe lab est un espace dédié pour tester des sites dans un véritable élément iframe. Elle inclut :

ÉlĂ©ments disponibles

  • Champ de saisie d'URL HTTP ou HTTPS.
  • Bouton pour ouvrir le lien dans l'iframe.
  • Bouton pour recharger l'iframe.
  • Affichage de l'URL demandĂ©e.
  • Agrandissement de l'iframe pour remplir la page de l'extension.
  • Bouton pour ouvrir l'URL demandĂ©e dans un onglet normal.
  • Messages d'Ă©tat indiquant le dĂ©but de la navigation, les Ă©vĂ©nements de chargement et les erreurs disponibles.

User-Agent et Referer depuis le lab

Vous pouvez saisir User-Agent et Referer directement Ă  cĂŽtĂ© du lien, puis cliquer sur Apply headers & open iframe. L'extension applique les modifications avant le dĂ©but de la navigation de l'iframe, en utilisant des rĂšgles temporaires propres Ă  l'onglet du lab et Ă  l'origine du lien, y compris pour ses sous-requĂȘtes correspondant Ă  cette origine.

  • Ces modifications ne ciblent pas les autres onglets.
  • Elles n'incluent pas automatiquement les sites de ressources externes ni les destinations de redirection diffĂ©rentes.
  • Elles ont prioritĂ© sur les rĂšgles enregistrĂ©es pour les mĂȘmes en-tĂȘtes dans leur pĂ©rimĂštre.
  • Elles fonctionnent indĂ©pendamment de l'interrupteur global des rĂšgles enregistrĂ©es.
  • Elles peuvent ĂȘtre supprimĂ©es via le bouton Clear lab overrides.
  • Elles ne sont pas enregistrĂ©es comme profils permanents et disparaissent Ă  la fermeture de l'onglet ou au redĂ©marrage de Chrome.

ContrĂŽle du Sandbox

L'option Enable iframe sandbox est activée par défaut et ajoute des restrictions à l'iframe, tout en autorisant l'exécution des scripts, des formulaires et l'utilisation de l'origine du site. Vous pouvez la désactiver pour tester des sites qui refusent de fonctionner dans un iframe sandboxé. La modification nécessite de rouvrir ou recharger l'iframe, et le mode appliqué s'affiche à cÎté de l'URL demandée.

La dĂ©sactivation du sandbox Ă©largit le comportement autorisĂ© du site, comme l'ouverture de fenĂȘtres pop-up ou la tentative de navigation de l'onglet selon les rĂšgles de Chrome, mais elle ne dĂ©sactive pas la protection du navigateur et ne supprime pas les politiques CSP ou X-Frame-Options du site.

Affichage du code source HTML

Le bouton View page source récupÚre le code source du lien saisi et l'affiche sous forme de texte dans la page de l'extension. L'affichage du code source présente les caractéristiques suivantes :

Ce code source n'est pas une copie du DOM live dans l'iframe, et sa rĂ©ponse et ses en-tĂȘtes de requĂȘte peuvent diffĂ©rer de la navigation de l'iframe. Pour examiner la rĂ©ponse rĂ©elle reçue par l'iframe, l'extension recommande d'utiliser la section Network → Response dans Chrome DevTools.

Comment l'utiliser

Exemple d'utilisation simple

1

Ouvrez les paramĂštres

Accédez aux paramÚtres de l'extension.

2

Créez une rÚgle

Créez une rÚgle pour un site de test que vous possédez ou pour lequel vous avez l'autorisation de tester.

3

DĂ©finissez les en-tĂȘtes

SĂ©lectionnez les en-tĂȘtes requis et leurs valeurs.

4

Enregistrez et autorisez

Enregistrez la rĂšgle et accordez la permission du site.

5

Activez et rechargez

Activez les rÚgles enregistrées et rechargez le site.

6

Vérifiez dans DevTools

Inspectez les requĂȘtes dans DevTools pour confirmer les valeurs envoyĂ©es.

7

Testez dans Iframe lab

Ouvrez Iframe lab et saisissez le lien pour tester l'intégration.

8

Configurez et ouvrez l'iframe

Définissez User-Agent et Referer si nécessaire, choisissez le mode Sandbox, puis ouvrez l'iframe.

9

Diagnostiquez si besoin

Utilisez la page de diagnostics en cas de refus ou d'erreur.

Confidentialité et sécurité

  • L'extension enregistre les rĂšgles et paramĂštres via chrome.storage.local.
  • Elle n'utilise pas de comptes utilisateurs ni de synchronisation cloud.
  • Elle ne collecte pas les journaux de navigation et ne les envoie pas Ă  des serveurs externes.
  • Elle n'utilise pas d'outils de suivi ou d'analyse.
  • Elle ne charge pas de JavaScript distant ou non fiable.
  • Elle demande les permissions de sites lorsque c'est nĂ©cessaire.
  • Elle permet de rĂ©voquer les permissions de sites accordĂ©es.
  • Elle valide les entrĂ©es avant de les appliquer.

L'ouverture de sites dans l'iframe ou la rĂ©cupĂ©ration de leur code source se connecte naturellement aux serveurs de ces sites. Le stockage des paramĂštres est local et non un coffre-fort chiffrĂ© ; il ne faut donc pas saisir de mots de passe ou de clĂ©s secrĂštes dans les valeurs d'en-tĂȘtes.

Limites techniques

Ce que l'extension ne fait pas

User-Agent et capacités du navigateur

La modification de User-Agent change l'en-tĂȘte HTTP, mais ne modifie pas automatiquement navigator.userAgent, les Client Hints ou les capacitĂ©s du navigateur.

Origin et Referer

La modification d'Origin ou de Referer ne change pas l'origine de sécurité réelle de la page.

Restrictions de Chrome

Chrome peut refuser ou restreindre certaines modifications ; il faut vĂ©rifier la requĂȘte rĂ©elle.

X-Frame-Options et CSP

L'extension ne supprime pas X-Frame-Options ni CSP.

Authentification et accĂšs

Elle ne contourne pas l'authentification, les contrĂŽles d'accĂšs ou la protection des domaines.

Fonctionnement dans iframe

Elle ne garantit pas que chaque site fonctionnera dans un iframe.

Désactivation du Sandbox

La désactivation du Sandbox ne garantit pas le fonctionnement du site.

Lecture du DOM externe

L'extension ne peut gĂ©nĂ©ralement pas lire le DOM ni l'URL finale des iframes externes en raison de la politique de mĂȘme origine.

Code source et réponse de l'iframe

L'affichage du code source utilise une requĂȘte sĂ©parĂ©e et ne capture pas la rĂ©ponse de l'iframe.

Pages internes de Chrome

Certaines pages internes de Chrome et requĂȘtes ou rĂ©ponses gĂ©rĂ©es par le navigateur peuvent ne pas ĂȘtre affectĂ©es par les rĂšgles.

Interface utilisateur

L'extension comporte quatre interfaces principales :

L'interface actuelle de l'extension est en anglais, avec un design sombre responsive et des indicateurs d'état et messages de succÚs et d'erreur clairs. L'interface de l'extension n'est pas encore traduite en français.

À qui s'adresse l'extension ?

Questions fréquentes

L'extension fonctionne-t-elle sans compte ?

Oui. Header Controller fonctionne sans création de compte et n'utilise ni synchronisation cloud ni comptes utilisateurs.

Les rĂšgles s'appliquent-elles Ă  tous les sites ?

Par défaut, les rÚgles s'appliquent à l'origine spécifiée. Un option permet de les appliquer à tous les sites HTTP et HTTPS, aprÚs avoir accordé explicitement la permission nécessaire.

Puis-je tester des sites qui refusent l'intégration ?

L'extension ne supprime pas X-Frame-Options ni CSP. La désactivation du Sandbox peut aider dans certains cas, mais elle ne garantit pas que le site fonctionnera dans un iframe, et elle ne désactive pas la protection du navigateur.

Les modifications du lab sont-elles permanentes ?

Non. Les modifications appliquées depuis Iframe lab sont des rÚgles temporaires propres à l'onglet du lab et à l'origine du lien. Elles ne sont pas enregistrées comme profils permanents et disparaissent à la fermeture de l'onglet ou au redémarrage de Chrome.

Pourquoi le code source affiché diffÚre-t-il de ce que je vois dans l'iframe ?

L'affichage du code source utilise une requĂȘte sĂ©parĂ©e, sans identifiants et sans suivre les redirections, avec un dĂ©lai et une limite de taille. Ce n'est pas une copie du DOM live dans l'iframe. Pour examiner la rĂ©ponse rĂ©elle reçue par l'iframe, utilisez la section Network → Response dans Chrome DevTools.

PrĂȘt Ă  tester Header Controller ?

ContrĂŽlez les en-tĂȘtes de requĂȘtes, organisez les rĂšgles pour vos sites, et testez l'intĂ©gration dans un vĂ©ritable iframe — depuis un seul endroit.

Le lien vers le Chrome Web Store sera ajouté prochainement.
Installer l'extension