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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
La page Iframe lab est un espace dédié pour tester des sites dans un véritable élément iframe. Elle inclut :
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.
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.
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.
Accédez aux paramÚtres de l'extension.
Créez une rÚgle pour un site de test que vous possédez ou pour lequel vous avez l'autorisation de tester.
SĂ©lectionnez les en-tĂȘtes requis et leurs valeurs.
Enregistrez la rĂšgle et accordez la permission du site.
Activez les rÚgles enregistrées et rechargez le site.
Inspectez les requĂȘtes dans DevTools pour confirmer les valeurs envoyĂ©es.
Ouvrez Iframe lab et saisissez le lien pour tester l'intégration.
Définissez User-Agent et Referer si nécessaire, choisissez le mode Sandbox, puis ouvrez l'iframe.
Utilisez la page de diagnostics en cas de refus ou d'erreur.
chrome.storage.local.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.
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.
La modification d'Origin ou de Referer ne change pas l'origine de sécurité réelle de la page.
Chrome peut refuser ou restreindre certaines modifications ; il faut vĂ©rifier la requĂȘte rĂ©elle.
L'extension ne supprime pas X-Frame-Options ni CSP.
Elle ne contourne pas l'authentification, les contrĂŽles d'accĂšs ou la protection des domaines.
Elle ne garantit pas que chaque site fonctionnera dans un iframe.
La désactivation du Sandbox ne garantit pas le fonctionnement du site.
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.
L'affichage du code source utilise une requĂȘte sĂ©parĂ©e et ne capture pas la rĂ©ponse de l'iframe.
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.
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.
Oui. Header Controller fonctionne sans création de compte et n'utilise ni synchronisation cloud ni comptes utilisateurs.
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.
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.
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.
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.
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.