/* ============================================================ Nav statique — reproduit Nav.jsx au pixel près (ADR-033 2026-05-15) ============================================================ */ .qllm-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(7,9,12,0.82); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); border-bottom: 1px solid var(--border); } .qllm-nav-spacer { height: 108px; } .qllm-nav-container { max-width: 1280px; margin: 0 auto; padding: 0 32px; } .qllm-nav-grid { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px; height: 76px; } .qllm-nav-ticker { border-bottom: 1px solid var(--border); background: rgba(7,9,12,0.4); height: 32px; overflow: hidden; } .qllm-nav-ticker .qllm-nav-container { display: flex; align-items: center; justify-content: space-between; height: 32px; font-family: var(--font-mono); font-size: 10px; color: var(--text-mute); letter-spacing: 0.08em; text-transform: uppercase; } .qllm-ticker-left { display: flex; align-items: center; gap: 18px; } .qllm-ticker-right { display: flex; align-items: center; gap: 14px; } .qllm-live { display: inline-flex; align-items: center; gap: 6px; } .qllm-live-txt { color: var(--neon); } .qllm-pulse { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--neon); animation: qllmNavPulse 2s ease-in-out infinite; } @keyframes qllmNavPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(74,222,128,0.5); } 50% { box-shadow: 0 0 0 5px rgba(74,222,128,0); } } .qllm-lockup { display: flex; align-items: center; gap: 12px; text-decoration: none; } .qllm-logo { display: block; color: var(--text); } .qllm-brand { display: flex; flex-direction: column; line-height: 1; } .qllm-brand-title { display: inline-flex; align-items: center; gap: 6px; font-family: 'Archivo', sans-serif; font-size: 19px; font-weight: 700; letter-spacing: -0.03em; color: var(--text); } .qllm-brand-fr { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 5px 1px; border-radius: 3px; border: 1px solid rgba(255,255,255,0.18); color: var(--text-dim); transform: translateY(-1px); } .qllm-brand-tag { font-family: 'Inter Tight', sans-serif; font-size: 10.5px; font-weight: 400; color: var(--text-dim); margin-top: 4px; letter-spacing: -0.002em; } .qllm-nav-links { display: flex; align-items: center; justify-content: center; gap: 28px; } .qllm-nav-links > a { position: relative; padding: 8px 0; font-size: 14px; font-weight: 400; letter-spacing: -0.005em; color: var(--text-dim); text-decoration: none; transition: color 0.18s; display: inline-flex; align-items: baseline; gap: 8px; } .qllm-nav-links > a:hover { color: var(--text); } .qllm-nav-num { font-family: var(--font-mono); font-size: 10px; color: var(--text-mute); letter-spacing: 0.05em; } .qllm-nav-cta { display: flex; align-items: center; gap: 10px; } .qllm-cta { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; height: 38px; background: var(--neon); color: #0A0F0A; border: 1px solid var(--neon); border-radius: 10px; font-size: 13px; font-weight: 500; text-decoration: none; box-shadow: 0 0 24px -8px var(--neon-glow); transition: opacity 0.15s; white-space: nowrap; box-sizing: border-box; } .qllm-cta:hover { opacity: 0.88; } /* Dropdowns Outils + Projet (statique, JS vanilla) — reproduit NavDropdown de Nav.jsx */ .qllm-nav-dropdown { position: relative; } .qllm-nav-trigger { background: transparent; border: 0; cursor: pointer; padding: 8px 0; font-family: inherit; font-size: 14px; font-weight: 400; letter-spacing: -0.005em; color: var(--text-dim); display: inline-flex; align-items: baseline; gap: 8px; transition: color 0.18s; } .qllm-nav-trigger:hover, .qllm-nav-trigger[aria-expanded="true"] { color: var(--text); } .qllm-chev { transform: translateY(2px); transition: transform 0.2s; opacity: 0.7; } .qllm-nav-trigger[aria-expanded="true"] .qllm-chev { transform: translateY(2px) rotate(180deg); opacity: 1; } .qllm-dropdown-panel { position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%); min-width: 280px; padding: 8px; background: rgba(13,17,23,0.96); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 18px 48px -12px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.02); z-index: 51; } .qllm-dropdown-panel[hidden] { display: none; } .qllm-dropdown-panel a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--text); transition: background 0.15s; } .qllm-dropdown-panel a:hover { background: var(--bg-elev); } .qllm-dd-icon { width: 32px; height: 32px; flex: 0 0 32px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-elev); border: 1px solid var(--border); border-radius: 8px; color: var(--neon); font-size: 14px; font-family: var(--font-mono); } .qllm-dd-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qllm-dd-label { font-size: 13px; font-weight: 500; color: var(--text); line-height: 1.2; } .qllm-dd-desc { font-size: 11px; color: var(--text-mute); line-height: 1.3; } @media (max-width: 1200px) { .qllm-ticker-hide { display: none !important; } } @media (max-width: 1000px) { .qllm-nav-links { display: none !important; } .qllm-nav-grid { grid-template-columns: auto 1fr auto; gap: 16px; } .qllm-nav-ticker { display: none !important; } .qllm-nav-spacer { height: 76px; } } @media (max-width: 720px) { .qllm-nav-container { padding: 0 18px !important; } .qllm-nav-grid { gap: 12px !important; height: 64px; } .qllm-nav-spacer { height: 64px; } .qllm-brand-tag { display: none; } .qllm-cta { font-size: 12px; padding: 8px 12px; height: 34px; } } @media (max-width: 480px) { .qllm-nav-container { padding: 0 14px !important; } .qllm-nav-grid { height: 60px; gap: 10px !important; } .qllm-nav-spacer { height: 60px; } .qllm-cta > span { display: none; } .qllm-cta { padding: 8px 10px; } } /* ============================================================ Seo-footer dense — identique à generate-pages.mjs::renderSeoFooter() (lignes 433-454) pour cohérence visuelle avec les pages SPA. ============================================================ */ .seo-footer .seo-row { display:grid;grid-template-columns:minmax(220px, 1fr) 2fr;gap:20px;margin-bottom:14px } .seo-footer .seo-block { margin-bottom:14px } .seo-footer .seo-row .seo-block, .seo-footer .seo-block:last-of-type { margin-bottom:0 } .seo-footer h2 { color:#6b7280;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;margin:0 0 6px } .seo-footer .seo-pills { display:flex;flex-wrap:wrap;gap:4px } .seo-footer .seo-pills a { display:inline-flex;align-items:center; padding:3px 9px;font-size:11.5px;line-height:1.35; color:#9aa3af;text-decoration:none; background:#0f141b;border:1px solid #1a1f27;border-radius:999px; white-space:nowrap;transition:border-color .15s,color .15s } .seo-footer .seo-pills a.wide { white-space:normal;max-width:100% } .seo-footer .seo-pills a:hover { border-color:#4ade80;color:#e5e7eb } .seo-footer .seo-bottom { margin-top:16px;padding-top:12px;border-top:1px solid #1a1f27;font-size:11px;color:#6b7280 } .seo-footer .seo-bottom p { margin:0 } @media (max-width:720px){ .seo-footer .seo-row { grid-template-columns:1fr;gap:14px } }

Mentions légales

Informations légales obligatoires concernant l'éditeur, l'hébergeur et les conditions d'utilisation du site quelllm.fr, conformément à l'article 6 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique (LCEN).

Éditeur du site

Directeur de la publication

Le directeur de la publication est Mohamed Meguedmi, en qualité de représentant de l'éditeur. Il peut être contacté via la page contact.

Hébergeur

Hostinger International Ltd. — 61 Lordou Vironos Street, 6023 Larnaca, Chypre — www.hostinger.fr — contact abuse : [email protected]. L'hébergeur assure le stockage technique du site et n'intervient pas sur son contenu éditorial.

Propriété intellectuelle

L'ensemble des éléments composant le site quelllm.fr (marque, identité graphique, textes éditoriaux, structure, code source, données agrégées du comparateur) est la propriété de l'éditeur ou fait l'objet d'une autorisation d'utilisation, à l'exception des marques, logos et noms des modèles et outils tiers cités (Meta, Mistral AI, Alibaba/Qwen, Google, Ollama, etc.), qui restent la propriété de leurs détenteurs respectifs. Les données de l'API publique /api sont diffusées sous licence CC BY 4.0.

Limitation de responsabilité

Les informations publiées (compatibilité matérielle, VRAM estimée, vitesses, licences des modèles) sont fournies à titre indicatif, calculées ou vérifiées avec sérieux mais sans garantie d'exactitude ni d'exhaustivité. L'utilisateur reste seul responsable de l'usage qu'il fait de ces informations, notamment du respect des licences des modèles téléchargés.

Liens externes

Le site contient des liens vers des sites tiers (Hugging Face, Ollama, dépôts GitHub…). L'éditeur n'exerce aucun contrôle sur ces ressources et décline toute responsabilité quant à leur contenu.

Droit applicable

Le site et les présentes mentions sont régis par le droit français. Tout litige relève des juridictions françaises compétentes.