<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Fichiers de configuration - Serveur HTTP Apache Version 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="./style/css/prettify.css">
<script src="./style/scripts/prettify.min.js">
</script>

<link href="./images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="./images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="https://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Fichiers de configuration</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/configuring.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/configuring.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/configuring.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/configuring.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>

<p>Ce document d&eacute;crit les fichiers utilis&eacute;s pour configurer
le Serveur HTTP Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#main">Fichiers de configuration principaux</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#syntax">Syntaxe des fichiers de configuration</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#modules">Modules</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#scope">Port&eacute;e des directives</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#htaccess">Fichiers .htaccess</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="main">Fichiers de configuration principaux <a title="Lien permanent" href="#main" class="permalink">&para;</a></h2>
    
    <table class="related"><tr><th>Modules Apparent&eacute;s</th><th>Directives Apparent&eacute;es</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#include">Include</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code></li></ul></td></tr></table>

    <p>La configuration du serveur HTTP Apache est effectu&eacute;e en pla&ccedil;ant des <a href="mod/directives.html">directives</a> dans des fichiers de
    configuration au format texte. Le fichier de configuration principal se nomme
    en g&eacute;n&eacute;ral
    <code>httpd.conf</code>. La localisation de ce fichier est d&eacute;finie
    &agrave; la compilation, mais peut &ecirc;tre red&eacute;finie &agrave; l'aide de l'option
    de ligne de commande <code>-f</code>. En outre, d'autres fichiers de
    configuration peuvent &ecirc;tre ajout&eacute;s &agrave; l'aide de la directive
    <code class="directive"><a href="./mod/core.html#include">Include</a></code>, et des caract&egrave;res de
    remplacement
    peuvent &ecirc;tre utilis&eacute;s pour inclure de nombreux fichiers de configuration.
    Des directives de tous types peuvent &ecirc;tre plac&eacute;es dans chacun de ces fichiers
    de configuration. Les modifications dans les fichiers de configuration
    principaux ne sont prises en compte par httpd que lorsque le serveur
    est d&eacute;marr&eacute; ou red&eacute;marr&eacute;.</p>

    <p>Le serveur lit aussi un fichier contenant les types de document mime&nbsp;;
    ce fichier est d&eacute;fini par la directive <code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code>,
    et se nomme <code>mime.types</code> par d&eacute;faut.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="syntax">Syntaxe des fichiers de configuration <a title="Lien permanent" href="#syntax" class="permalink">&para;</a></h2>
    

    <p>Les fichiers de configuration de httpd contiennent une directive par
    ligne.  On peut utiliser l'anti-slash "\" comme dernier caract&egrave;re d'une
    ligne pour indiquer que la directive continue &agrave; la ligne suivante ; pour que
    cette continuation soit prise en compte, il ne doit y avoir aucun caract&egrave;re
    ni blanc entre l'anti-slash et la fin de la ligne.</p>

    <p>Les lignes qui commencent par un croisillon &laquo;&nbsp;#&nbsp;&raquo; sont interpr&eacute;t&eacute;es comme
    des commentaires et sont ignor&eacute;es. Les commentaires <strong>ne doivent
    pas</strong> se trouver sur la m&ecirc;me ligne qu'une directive de configuration,
    y compris au d&eacute;but de la continuation d'une ligne comme d&eacute;crit dans le
    paragraphe pr&eacute;c&eacute;dent. Les commentaires peuvent aussi continuer sur la ligne
    suivante, ce qui signifie que la prochaine ligne physique est aussi
    interpr&eacute;t&eacute;e comme un commentaire car la ligne logique commence par un
    croisillon.
    </p>

    <p>Les blancs apparaissant avant une directive sont ignor&eacute;s ; vous pouvez
    donc indenter ces derni&egrave;res pour am&eacute;liorer la lisibilit&eacute;. Les lignes vides
    sont aussi ignor&eacute;es. les arguments de directive sont s&eacute;par&eacute;s par des blancs.
    Si un argument contient des espaces, il doit &ecirc;tre entour&eacute; de guillemets.</p>

    <h3 id="quotes">Citation et &eacute;chappement</h3>

    <p>Un argument qui contient des espaces doit &ecirc;tre entour&eacute; de guillemets
    doubles (<code>"</code>) ou de guillemets simples (<code>'</code>). Les
    guillemets eux-m&ecirc;mes ne font pas partie de l&rsquo;argument.</p>

    <p>&Agrave; l&rsquo;int&eacute;rieur d&rsquo;une cha&icirc;ne entre guillemets, seules deux s&eacute;quences
    d&rsquo;&eacute;chappement sont reconnues&nbsp;: <code>\\</code> produit une controblique
    litt&eacute;rale et <code>\"</code> (ou <code>\'</code> si la cha&icirc;ne est entour&eacute;e
    de guillemets simples) produit un guillemet litt&eacute;ral sans terminer la
    cha&icirc;ne. Toutes les autres s&eacute;quences avec controblique sont conserv&eacute;es telles
    quelles &mdash;&nbsp;par exemple, <code>\n</code> sera consid&eacute;r&eacute; comme une cha&icirc;ne
    litt&eacute;ral de deux caract&egrave;res <code>\n</code>, pas comme une nouvelle
    ligne.</p>

    <p>En dehors des guillemets, les controbliques n&rsquo;ont aucune signification
    sp&eacute;ciale et sont trait&eacute;es comme des caract&egrave;res litt&eacute;raux. La seule exception
    est la controblique de continuation de ligne en fin de ligne, comme d&eacute;crit
    ci-avant.</p>

    <p>Notez que des cha&icirc;nes entre guillemets adjacentes sans espace entre elles
    ne sont <strong>pas</strong> concat&eacute;n&eacute;es &mdash;&nbsp;elles sont trait&eacute;es comme des
    arguments s&eacute;par&eacute;s. Par exemple&nbsp;:</p>

    <div class="example"><p><code>
    # Il ne s&rsquo;agit pas d&rsquo;un seul argument, mais de DEUX&nbsp;:<br>
    Header set X-Foo "arg1""arg2"
    </code></p></div>

    <p>Certaines directives acceptent des arguments qui contiennent des
    sous-expressions ayant leur propre syntaxe, telles que les drapeaux de la
    directive <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ou les
    expression <a href="expr.html">ap_expr</a>. Dans ces cas, l&rsquo;interpr&eacute;teur de
    fichier de configuration enl&egrave;ve tout d&rsquo;abord les guillemets englobants et
    traite les s&eacute;quences avec controblique comme d&eacute;crit ci-avant, puis
    l&rsquo;interpr&eacute;teur propre &agrave; la directive traite le r&eacute;sultat. En cas de doute,
    utiliser des guillemets simples autour d&rsquo;un argument qui contient des
    controbliques peut &eacute;viter un double traitement inattendu des s&eacute;quenses
    d&rsquo;&eacute;chappement.</p>

    

    <p>Les directives dans les fichiers de configuration ne sont pas
    sensibles &agrave; la casse, mais leurs arguments le sont souvent.</p>

    <p>Les valeurs des variables d'environnement ou des variables d&eacute;finies via
    la directive <code class="directive"><a href="./mod/core.html#define">Define</a></code> peuvent &ecirc;tre
    utilis&eacute;es dans le fichier de configuration en utilisant la syntaxe
    <code>${VAR}</code>. Si "VAR" est le nom d'une variable valable, la valeur
    de la variable est alors substitu&eacute;e &agrave; la cha&icirc;ne <code>${VAR}</code>, et le
    processus de lecture du fichier de configuration continue comme si la
    cha&icirc;ne correspondant &agrave; la valeur de la variable s'y &eacute;tait trouv&eacute;e
    litt&eacute;ralement. Les variables d&eacute;finies via la directive <code class="directive"><a href="./mod/core.html#define">Define</a></code> l'emportent sur les autres variables
    d'environnement de l'interpr&eacute;teur de commande. Si la variable "VAR" n'est
    pas trouv&eacute;e, la cha&icirc;ne <code>${VAR}</code> n'est pas modifi&eacute;e, et un
    avertissement est enregistr&eacute; dans le journal. Le caract&egrave;re ":" est interdit
    dans les noms de variables afin d'&eacute;viter tout conflit avec la syntaxe de la
    directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>

    <p>Seules les variables d'environnement de l'interpr&eacute;teur de commande
    d&eacute;finies avant le d&eacute;marrage du serveur peuvent &ecirc;tre utilis&eacute;es en extension.
    Les variables d'environnement d&eacute;finies dans le fichier de configuration
    lui-m&ecirc;me, par exemple avec <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>,
    prennent effet trop tard pour pouvoir &ecirc;tre utilis&eacute;es en extension au sein
    du fichier de configuration.</p>

    <p>La longueur maximale d'une ligne dans un fichier de configuration
    normal, apr&egrave;s substitution des variables et fusion des lignes
    interrompues, est approximativement de 16 Mo. Dans les <a href="configuring.html#htaccess">fichiers .htaccess</a>, la longueur
    maximale est de 8190 caract&egrave;res.</p>

    <p>Vous pouvez v&eacute;rifier l'absence d'erreurs de syntaxe dans vos fichiers
    de configuration sans d&eacute;marrer le serveur &agrave; l'aide de la commande
    <code>apachectl configtest</code> ou de l'option de ligne de commande
    <code>-t</code>.</p>

    <p>Vous pouvez utiliser la d&eacute;finition <code>-DDUMP_CONFIG</code> de
    <code class="module"><a href="./mod/mod_info.html">mod_info</a></code> pour afficher la configuration avec tous
    les fichiers inclus et les variables d'environnement &eacute;valu&eacute;es, tous
    les commentaires et les sections <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> et <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> non actives ayant
    &eacute;t&eacute; supprim&eacute;s. Cependant, la sortie ne refl&egrave;te
    pas les fusions ou &eacute;crasements pouvant intervenir en cas de
    d&eacute;finitions multiples de directives.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="modules">Modules <a title="Lien permanent" href="#modules" class="permalink">&para;</a></h2>
    

    <table class="related"><tr><th>Modules Apparent&eacute;s</th><th>Directives Apparent&eacute;es</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>

    <p>httpd est un serveur modulaire. Ceci implique que seules les
    fonctionnalit&eacute;s les plus courantes sont incluses dans le serveur de base.
    Les fonctionnalit&eacute;s &eacute;tendues sont fournies &agrave; l'aide de <a href="mod/">modules</a> qui peuvent &ecirc;tre charg&eacute;s dans httpd.
    Par d&eacute;faut, un jeu de <a href="mod/module-dict.html#Status">modules de base</a> est inclus dans le
    serveur &agrave; la compilation. Si le serveur est compil&eacute; de fa&ccedil;on &agrave; utiliser
    les <a href="dso.html">modules charg&eacute;s dynamiquement</a>,
    alors les modules peuvent &ecirc;tre compil&eacute;s s&eacute;par&eacute;ment et charg&eacute;s &agrave;
    n'importe quel moment &agrave; l'aide de la directive
    <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>.
    Dans le cas contraire, httpd doit &ecirc;tre recompil&eacute; pour ajouter ou
    supprimer des modules.
    Les directives de configuration peuvent &ecirc;tre incluses de mani&egrave;re
    conditionnelle selon la pr&eacute;sence ou l'absence d'un module particulier
    en les pla&ccedil;ant dans un bloc <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>.</p>

    <p>Pour voir quels modules ont &eacute;t&eacute; compil&eacute;s avec le serveur,
    vous pouvez utiliser l'option de ligne de commande <code>-l</code>.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="scope">Port&eacute;e des directives <a title="Lien permanent" href="#scope" class="permalink">&para;</a></h2>
    

    <table class="related"><tr><th>Modules Apparent&eacute;s</th><th>Directives Apparent&eacute;es</th></tr><tr><td></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>

    <p>Les directives plac&eacute;es dans les fichiers de configuration principaux
    s'appliquent au serveur dans son ensemble. Si vous souhaitez modifier la
    configuration d'une partie du serveur seulement, vous pouvez limiter la
    port&eacute;e de vos directives en les pla&ccedil;ant dans une section
    <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>, <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>.
    Ces sections limitent le champ d'application des directives qu'elles
    contiennent &agrave; des URls ou des portions du syst&egrave;me de fichiers particuli&egrave;res.
    Elles peuvent aussi &ecirc;tre imbriqu&eacute;es, ce qui permet
    une configuration tr&egrave;s fine.</p>

    <p>httpd peut servir simultan&eacute;ment de nombreux sites web au travers des <a href="vhosts/">Serveurs Virtuels</a>. La port&eacute;e des directives peut ainsi
    &ecirc;tre limit&eacute;e en les pla&ccedil;ant dans des sections <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, afin qu'elles ne s'appliquent
    qu'aux requ&ecirc;tes pour un site web particulier.</p>

    <p>Bien que la plupart des directives puissent &ecirc;tre plac&eacute;es dans
    chacune de ces sections, certaines d'entre elles n'ont aucun sens
    dans certains contextes.
    Par exemple, les directives qui contr&ocirc;lent la cr&eacute;ation des processus
    n'ont de sens que dans le contexte du serveur global. Pour d&eacute;terminer
    quelles directives peuvent &ecirc;tre plac&eacute;es dans quelles sections, consultez
    le <a href="mod/directive-dict.html#Context">Contexte</a> de la
    directive. Pour plus d'informations, nous fournissons des d&eacute;tails dans
    <a href="sections.html">Comment fonctionnent les sections Directory,
    Location et Files</a>.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="htaccess">Fichiers .htaccess <a title="Lien permanent" href="#htaccess" class="permalink">&para;</a></h2>
    

    <table class="related"><tr><th>Modules Apparent&eacute;s</th><th>Directives Apparent&eacute;es</th></tr><tr><td></td><td><ul><li><code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table>

    <p>httpd permet la gestion d&eacute;centralis&eacute;e de la configuration
    &agrave; l'aide de fichiers sp&eacute;ciaux plac&eacute;s dans l'arborescence du site web.
    Ces fichiers sp&eacute;ciaux se nomment en g&eacute;n&eacute;ral <code>.htaccess</code>,
    mais tout autre nom peut &ecirc;tre sp&eacute;cifi&eacute; &agrave; l'aide de la directive
    <code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code>.
    Les directives plac&eacute;es dans les fichiers <code>.htaccess</code>
    s'appliquent au r&eacute;pertoire dans lequel vous avez plac&eacute; le fichier,
    ainsi qu'&agrave; tous ses sous-r&eacute;pertoires.
    La syntaxe des fichiers <code>.htaccess</code> est la m&ecirc;me que celle
    des fichiers de configuration principaux. Comme les fichiers
    <code>.htaccess</code> sont lus &agrave; chaque requ&ecirc;te, les modifications de
    ces fichiers prennent effet imm&eacute;diatement.</p>

    <p>Pour d&eacute;terminer quelles directives peuvent &ecirc;tre plac&eacute;es
    dans les fichiers <code>.htaccess</code>, consultez le
    <a href="mod/directive-dict.html#Context">Contexte</a> de la
    directive. L'administrateur du serveur peut contr&ocirc;ler quelles
    directives peuvent &ecirc;tre plac&eacute;es dans les fichiers
    <code>.htaccess</code> en d&eacute;finissant la directive
    <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
    dans les fichiers de configuration principaux.</p>

    <p>Pour plus d'informations sur les fichiers <code>.htaccess</code>,
    se r&eacute;f&eacute;rer au <a href="howto/htaccess.html">tutoriel .htaccess</a>.</p>
  </div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/configuring.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/configuring.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/configuring.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/configuring.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autoris&eacute; sous <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
    langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
    document.body.appendChild(qv);
    var qvBtn = document.createElement('button');
    qvBtn.className = 'qv-toggle';
    qvBtn.setAttribute('aria-label', 'Toggle page navigation');
    qvBtn.innerHTML = '&#9776;';
    document.body.appendChild(qvBtn);
    qvBtn.addEventListener('click', function() {
        var isOpen = qv.classList.toggle('open');
        if (isOpen) {
            qv.style.top = window.scrollY + 10 + 'px';
        }
    });
    window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>