301 status code means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.
The browser will automatically redirect the user to the new address, and search engines will update their indexes.
200 status code is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.
The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.
GET / HTTP/1.1 Host: a7las.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="description" content="A7LAS | Your new starter page with search & prompting box in same place"> <meta name="theme-color" content="#000000"> <title>A7LAS | all the web in your finger touch</title> <meta name="google" value="notranslate"> <!-- Facebook Meta Tags --> <meta property="og:url" content="https://a7las.com"> <meta property="og:type" content="website"> <meta property="og:title" content="A7LAS | all the web in your finger touch"> <meta property="og:description" content="A7LAS - Your new starter page with search engines and directories"> <meta property="og:image" content="https://a7las.com/opengraph.png"> <!-- Twitter Meta Tags --> <meta name="twitter:card" content="summary_large_image"> <meta property="twitter:domain" content="a7las.com"> <meta property="twitter:url" content="https://a7las.com"> <meta name="twitter:title" content="A7LAS | all the web in your finger touch"> <meta name="twitter:description" content="A7LAS - Your new starter page with search engines and directories"> <meta name="twitter:image" content="https://a7las.com/opengraph.png"> <!-- Replace these lines in your index.html head section --> <!-- Proper manifest reference --> <link rel="manifest" href="/manifest.json"> <!-- Theme color --> <meta name="theme-color" content="#000000"> <!-- Apple specific metas --> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style"="black"> <link rel="apple-touch-icon" href="/icons/icon-192x192.png"> <!-- Icons --> <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <link rel="shortcut icon" href="/favicon.ico"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet"> <!-- Add these before the closing body tag --> <script src="pwa-script.js"></script> <LINK href="style.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orestbida/[email protected]/dist/cookieconsent.css"> <script type="module" src="cookieconsent-config.js"></script> <script src="theme-detector.js"></script> <style> .voice-button.listening { opacity: 1; background-color: rgba(59, 130, 246, 0.6); color: white; animation: pulse 1.5s infinite; } .light-mode .voice-button.listening { background-color: rgba(59, 130, 246, 0.6); color: white; } @keyframes pulse { 0% { transform: translateY(-50%) scale(1); } 50% { transform: translateY(-50%) scale(1.1); } 100% { transform: translateY(-50%) scale(1); } } .voice-indicator { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background-color: rgba(59, 130, 246, 0.9); color: white; padding: 10px 20px; border-radius: 9999px; display: flex; align-items: center; gap: 8px; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); z-index: 100; animation: pulse-no-transform 1.5s infinite; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; } .cc--elegant-black { color-scheme: dark; --cc-bg: #000; --cc-primary-color: rgb(239, 244, 246); --cc-secondary-color: #b1bdc3; --cc-btn-primary-bg: #ffffff; --cc-btn-primary-color: #000; --cc-btn-primary-hover-bg: #ccd4d8; --cc-btn-primary-hover-color: #000; --cc-btn-secondary-bg: rgba(255, 255, 255, 0.039); --cc-btn-secondary-color: var(--cc-primary-color); --cc-btn-secondary-border-color: #252729; --cc-btn-secondary-hover-bg: #252729; --cc-btn-secondary-hover-color: #fff; --cc-btn-secondary-hover-border-color: #252729; --cc-cookie-category-block-bg: #101111; --cc-cookie-category-block-border: #1d1e1f; --cc-cookie-category-block-hover-bg: #151516; --cc-cookie-category-block-hover-border: #1d1e1f; --cc-cookie-category-expanded-block-hover-bg: #1d1e1f; --cc-cookie-category-expanded-block-bg: #101111; --cc-toggle-readonly-bg: #2f3132; --cc-overlay-bg: rgba(0, 0, 0, 0.9)!important; --cc-toggle-on-knob-bg: var(--cc-bg); --cc-toggle-readonly-knob-bg: var( --cc-cookie-category-block-bg); --cc-separator-border-color: #252729; --cc-footer-border-color: #212529; --cc-footer-bg: #000; } .cc--elegant-black #cc-main .cm, .cc--elegant-black #cc-main .pm { border: 1px solid var(--cc-separator-border-color); } /* Modal styles */ .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; /* Prevent double scrolling */ background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(8px); transition: all 0.3s ease; opacity: 0; } .modal.show { display: block; opacity: 1; } .modal-content { background-color: var(--bg-color); color: var(--text-color); margin: 5% auto; padding: 25px; width: 85%; max-width: 700px; border-radius: 12px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.4); position: relative; max-height: 80vh; overflow-y: auto; animation: modalIn 0.3s ease-out; } @keyframes modalIn { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } /* Custom scrollbar for modals */ .modal-content::-webkit-scrollbar { width: 8px; } .modal-content::-webkit-scrollbar-track { background: transparent; margin: 5px 0; } .modal-content::-webkit-scrollbar-thumb { background-color: rgba(128, 128, 128, 0.5); border-radius: 20px; border: 2px solid transparent; background-clip: content-box; } .modal-content::-webkit-scrollbar-thumb:hover { background-color: rgba(128, 128, 128, 0.7); } .modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 1px solid var(--border-color); padding-bottom: 15px; } .modal-title { font-size: 24px; font-weight: 600; margin: 0; } .close-modal { color: var(--text-color); font-size: 28px; font-weight: bold; cursor: pointer; background: none; border: none; padding: 0; margin: 0; opacity: 0.7; transition: opacity 0.2s; } .close-modal:hover { opacity: 1; } .modal-body { line-height: 1.6; } .modal-body h2 { margin-top: 25px; margin-bottom: 15px; } .modal-body p { margin-bottom: 15px; } /* Fix for links in modals */ .modal-body a { color: var(--highlight-color); text-decoration: none; transition: color 0.2s ease; border-bottom: 1px dotted var(--highlight-color); } .modal-body a:hover { color: var(--highlight-color-hover, #ff9500); border-bottom: 1px solid var(--highlight-color-hover, #ff9500); } /* Legal notice styling */ .legal-content ol { padding-left: 20px; } .legal-content li { margin-bottom: 15px; } .legal-content strong { display: block; margin-bottom: 5px; color: var(--text-color); } /* Improve voice indicator visibility */ .voice-indicator { display: none; position: fixed; top: 20px; left: 50%; transform: translateX(-50%); background-color: var(--highlight-color); color: white; padding: 10px 16px; border-radius: 20px; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.2); align-items: center; gap: 8px; font-weight: 500; transition: opacity 0.3s ease, transform 0.3s ease; opacity: 0; transform: translateX(-50%) translateY(-20px); } .voice-indicator.show { display: flex; opacity: 1; transform: translateX(-50%) translateY(0); } .voice-indicator svg { animation: pulse 1.5s infinite; } @keyframes pulse { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } } .voice-button.listening { background-color: var(--highlight-color); color: white; } /* Legal notice styling */ .legal-content ol { padding-left: 20px; } .legal-content li { margin-bottom: 15px; } .legal-content strong { display: block; margin-bottom: 5px; } .search-input { padding-right: 60px !important; } .light-mode .search-input { padding-right: 60px !important; } </style> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-2GNK6K4L5F"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-2GNK6K4L5F'); </script> <link rel="manifest" id="manifest-placeholder"> <link rel="icon" type="image/png" href="/favicon.png"> </head> <body> <!-- Background effects --> <div class="bg-grid-pattern"></div> <div class="bg-blob blob-1"></div> <div class="bg-blob blob-2"></div> <div class="bg-blob blob-3"></div> <!-- Toast notification --> <div id="toast" class="toast">Installed !</div> <!-- NEW: App Install Banner (Like lemonde.fr) --> <div id="app-install-banner" class="app-install-banner"> <div class="app-install-content"> <div class="app-install-info"> <div class="app-install-icon">A7</div> <div class="app-install-text"> <div class="app-install-title">Install A7LAS App</div> <div class="app-install-description">Add to your home screen for a better experience</div> </div> </div> <div class="app-install-buttons"> <button id="app-install-accept" class="app-install-accept">Install</button> <button id="app-install-dismiss" class="app-install-dismiss">Not now</button> </div> </div> </div> <!-- Voice indicator --> <div id="voice-indicator" class="voice-indicator" style="background-color: #0063c5; height: 40px; width: 150px; border-radius: 20px; text-align: center; bottom: 10%; align-items: center;"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path> <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path> <line x1="12" y1="19" x2="12" y2="23"></line> <line x1="8" y1="23" x2="16" y2="23"></line> </svg> <span>Listening...</span> </div> <!-- Header --> <header> <div class="top-bar"> <div class="header-links"> <a href="#" id="about-link" style="font-size: 12px; color: #6b7280; font-weight: 300; text-decoration: none;">About</a> <a href="https://www.paypal.com/donate/?hosted_button_id=ZJJXS8N7V6UAL" target="_banc" style="font-size: 12px; color: #6b7280; font-weight: 300; text-decoration: none; margin-left: 10px; margin-right: 15px;"> Donate</a> <!-- Updated install button HTML --> <button id="install-button" class="install-button visible"> <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path> <polyline points="7 10 12 15 17 10"></polyline> <line x1="12" y1="15" x2="12" y2="3"></line> </svg> Install </button> </div> <div class="nav-links"> <button class="bg-plus-toggle" id="bg-plus-toggle" title="Set background" style="margin-right: 15px ;" >+</button> <button class="theme-toggle" id="theme-toggle">★</button> </div> </div> </header> <!-- Fond d'écran personnalisé modal --> <div id="bg-modal" class="modal"> <div class="modal-content" style="max-width:400px;"> <div class="modal-header"> <h2 class="modal-title" style="font-size:18px;">Custom Background</h2> <button class="close-modal" data-modal="bg-modal">×</button> </div> <div class="modal-body"> <label style="font-size:14px;">Image URL:</label> <input type="text" id="bg-url-input" placeholder="Paste image URL..." style="width:100%;margin-bottom:10px;"> <label style="font-size:14px;">Or upload image:</label> <input type="file" id="bg-file-input" accept="image/*" style="width:100%;margin-bottom:10px;"> <div style="margin-top:10px;display:flex;gap:10px;"> <button id="bg-apply-btn" class="save-button" style="flex:1;">Apply</button> <button id="bg-clear-btn" class="cancel-button" style="flex:1;">Clear</button> </div> </div> </div> </div> <!-- Background image layer --> <div id="custom-bg-layer"></div> <!-- Main Content --> <main> <!-- Title --> <div class="title-container" style="margin-top: 30px;"> <h1 class="title" style="text-decoration: ;">A7LAS</h1> </div> <!-- Mode switch buttons --> <div class="mode-switch-container"> <button id="search-mode-button" class="mode-switch-button active">Search</button> <button id="shopping-mode-button" class="mode-switch-button">Shop</button> <button id="archive-mode-button" class="mode-switch-button">Archive</button> <button id="music-mode-button" class="mode-switch-button">Music</button> </div> <!-- Search Container --> <div class="search-container"> <!-- Search Engine Form --> <form id="search-form" class="search-form" action="https://chat.mistral.ai/chat/" method="get" target="_blank"> <div class="search-input-wrapper"> <span class="search-icon">✎</span> <input type="text" name="q" id="search-input" class="search-input" placeholder="Prompt or search..." autocomplete="off" > <button type="button" class="clear-input-button" id="clear-search-input" aria-label="Effacer" style="display:none;" tabindex="-1"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> </button> <button type="button" id="voice-search-button" class="voice-button" aria-label="Voice search" > <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path> <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path> <line x1="12" y1="19" x2="12" y2="23"></line> <line x1="8" y1="23" x2="16" y2="23"></line> </svg> </button> </div> <select id="engine-select" class="engine-select" onchange="updateSearchEngine()" style="display: none;"> <option value="mistral">Mistral</option> <option value="perplexity">Perplexity</option> <option value="google">Google</option> <option value="baidu">Baidu</option> <option value="naver">Naver</option> <option value="sogou">Sogou</option> <option value="360search">360 Search</option> <option value="coccoc">Coc Coc</option> <option value="yahoojp">Yahoo Japan</option> <option value="daum">Daum</option> <option value="goo">Goo</option> <option value="petal">Petal Search</option> <option value="shenma">Shenma</option> <option value="yandex">Yandex</option> <option value="bing">Bing</option> <option value="duckduckgo">DuckDuckGo</option> <option value="brave">Brave Search</option> <option value="yahoo">Yahoo</option> <option value="qwant">Qwant</option> <option value="ecosia">Ecosia</option> <option value="startpage">Startpage</option> <option value="mojeek">Mojeek</option> <option value="presearch">Presearch</option> <option value="swisscows">Swisscows</option> <option value="metager">Metager</option> <option value="gigablast">Gigablast</option> <option value="you">You.com</option> <option value="kagi">Kagi</option> <option value="neeva">Neeva</option> <option value="phind">Phind</option> <option value="wolfram">Wolfram Alpha</option> <option value="deepl">DeepL</option> </select> <button type="submit" class="search-button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"> <line x1="5" y1="12" x2="19" y2="12"></line> <polyline points="12 5 19 12 12 19"></polyline> </svg> </button> </form> <!-- Shopping Form - Initially hidden --> <form id="shopping-form" class="search-form hide" action="https://www.amazon.com/s" method="get" target="_blank"> <!-- Same shopping form content as original --> <div class="search-input-wrapper"> <span class="search-icon">🛒</span> <input type="text" name="k" id="shopping-input" class="search-input" placeholder="Search for products..." autocomplete="off" > <button type="button" class="clear-input-button" id="clear-shopping-input" aria-label="Effacer" style="display:none;" tabindex="-1"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> </button> <button type="button" id="voice-shopping-button" class="voice-button" aria-label="Voice search" > <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path> <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path> <line x1="12" y1="19" x2="12" y2="23"></line> <line x1="8" y1="23" x2="16" y2="23"></line> </svg> </button> </div> <select id="shopping-select" class="engine-select" onchange="updateShopping()" style="display: none;"> <!-- Global Platforms --> <option value="amazon">Amazon</option> <option value="ebay">eBay</option> <option value="aliexpress">AliExpress</option> <option value="etsy">Etsy</option> <!-- European Platforms --> <option value="zalando">Zalando (EU)</option> <option value="otto">Otto (DE)</option> <option value="cdiscount">Cdiscount (FR)</option> <option value="fnac">Fnac (FR)</option> <option value="bolcom">Bol.com (NL/BE)</option> <option value="allegro">Allegro (PL)</option> <option value="elcorteingles">El Corte Inglés (ES)</option> <option value="laredoute">La Redoute (FR)</option> <option value="asos">ASOS (UK)</option> <option value="galerieslafayette">Galeries Lafayette (FR)</option> <option value="manomano">ManoMano (EU)</option> <option value="vinted">Vinted (EU)</option> <option value="aboutyou">About You (DE)</option> <option value="mediamarkt">MediaMarkt (EU)</option> <option value="darty">Darty (FR)</option> <option value="carrefour">Carrefour (EU)</option> <option value="decathlon">Decathlon (EU)</option> <option value="boulanger">Boulanger (FR)</option> <option value="notino">Notino (EU)</option> <option value="idealo">Idealo (EU)</option> </select> <button type="submit" class="search-button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"> <line x1="5" y1="12" x2="19" y2="12"></line> <polyline points="12 5 19 12 12 19"></polyline> </svg> </button> </form> <!-- Archive Form - Initially hidden --> <form id="archive-form" class="search-form hide" action="https://archive.org/search" method="get" target="_blank"> <!-- Same archive form content as original --> <div class="search-input-wrapper"> <span class="search-icon">🗃️</span> <input type="text" name="query" id="archive-input" class="search-input" placeholder="Search archives & media..." autocomplete="off" > <button type="button" class="clear-input-button" id="clear-archive-input" aria-label="Effacer" style="display:none;" tabindex="-1"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> </button> <button type="button" id="voice-archive-button" class="voice-button" aria-label="Voice search" > <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path> <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path> <line x1="12" y1="19" x2="12" y2="23"></line> <line x1="8" y1="23" x2="16" y2="23"></line> </svg> </button> </div> <select id="archive-select" class="engine-select" onchange="updateArchive()" style="display: none;"> <option value="archive">Internet Archive</option> <option value="europeana">Europeana</option> <option value="ina">INA (FR)</option> <option value="britishpathe">British Pathé</option> <option value="dpla">Digital Public Library of America</option> <option value="gallica">Gallica BnF (FR)</option> <option value="bfi">BFI Player (UK)</option> <option value="medici">Medici.tv</option> <option value="artfilms">Artfilms Digital</option> <option value="onf">NFB Canada</option> <option value="bnespana">Biblioteca Digital Hispánica (ES)</option> <option value="dle">Digital Library of Europe</option> <option value="filmoteca">Filmoteca Española</option> <option value="openimages">Open Images (NL)</option> <option value="prelinger">Prelinger Archives</option> <option value="kinopoisk">Kinopoisk HD (RU)</option> <option value="eyefilm">Eye Film Player (NL)</option> <option value="filmportal">Filmportal (DE)</option> <option value="mediathek">ARD Mediathek (DE)</option> <option value="gaumont">Gaumont Pathé Archives (FR)</option> </select> <button type="submit" class="search-button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"> <line x1="5" y1="12" x2="19" y2="12"></line> <polyline points="12 5 19 12 12 19"></polyline> </svg> </button> </form> <!-- Music Form - Initially hidden --> <form id="music-form" class="search-form hide" action="https://soundcloud.com/search/" method="get" target="_blank"> <div class="search-input-wrapper"> <span class="search-icon">🎵</span> <input type="text" name="q" id="music-input" class="search-input" placeholder="Search for music..." autocomplete="off" > <button type="button" class="clear-input-button" id="clear-music-input" aria-label="Effacer" style="display:none;" tabindex="-1"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> </button> <button type="button" id="voice-music-button" class="voice-button" aria-label="Voice search" > <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path> <path d="M19 10v2a7 7 0 0 1-14 0v-2"></path> <line x1="12" y1="19" x2="12" y2="23"></line> <line x1="8" y1="23" x2="16" y2="23"></line> </svg> </button> </div> <select id="music-select" class="engine-select" onchange="updateMusic()" style="display: none;"> <!-- Global Music Platforms --> <option value="soundcloud">SoundCloud</option> <option value="spotify">Spotify</option> <option value="applemusic">Apple Music</option> <option value="youtubemusic">YouTube Music</option> <option value="deezer">Deezer</option> <option value="bandcamp">Bandcamp</option> <option value="tidal">Tidal</option> <option value="amazonmusic">Amazon Music</option> <option value="lastfm">Last.fm</option> <option value="pandora">Pandora</option> <!-- More Music Platforms --> <option value="iheartradio">iHeartRadio</option> <option value="tunein">TuneIn</option> <option value="audiomack">Audiomack</option> <option value="7digital">7digital</option> <option value="beatport">Beatport</option> <option value="mixcloud">Mixcloud</option> <option value="napster">Napster</option> <option value="qobuz">Qobuz</option> <option value="boomplay">Boomplay</option> <option value="anghami">Anghami</option> <option value="jamendo">Jamendo</option> <option value="nts">NTS Radio</option> <option value="jazzradio">Jazzradio</option> <option value="musopen">Musopen</option> <option value="idagio">Idagio</option> <option value="primephonic">Primephonic</option> <option value="jango">Jango</option> <option value="gaana">Gaana</option> <option value="jiosaavn">JioSaavn</option> <option value="audius">Audius</option> </select> <button type="submit" class="search-button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"> <line x1="5" y1="12" x2="19" y2="12"></line> <polyline points="12 5 19 12 12 19"></polyline> </svg> </button> </form> <!-- Custom Service Form - Hidden by default --> <div id="add-service-form" class="add-service-form"> <h3 style="margin-bottom: 16px; font-size: 16px; font-weight: 500;">Add Custom Search Service</h3> <div class="form-group"> <label for="service-name">Service Name</label> <input type="text" id="service-name" placeholder="e.g. MySearch"> </div> <div class="form-group"> <label for="service-url">Service URL</label> <input type="text" id="service-url" placeholder="https://example.com/search"> </div> <div class="form-group"> <label for="service-param">Search Parameter Name</label> <input type="text" id="service-param" placeholder="q"> <div class="hint">This is the query parameter name used in the URL (e.g. q, query, search)</div> </div> <div class="form-actions"> <button type="button" id="cancel-service" class="cancel-button">Cancel</button> <button type="button" id="save-service" class="save-button">Save Service</button> </div> </div> <!-- Search Engines Section --> <div id="engines-container" class="engines-container"> <!-- Custom services will be prepended here via JavaScript --> <div id="custom-services-container"></div> <!-- First 15 services visible by default - INCREASED FROM 10 TO 15 --> <!-- Moteurs IA --> <button class="engine-button active" data-engine="mistral"> Mistral<span class="directory-icon">🐱</span> </button> <button class="engine-button" data-engine="perplexity"> Perplexity<span class="directory-icon">🔍</span> </button> <button class="engine-button" data-engine="phind"> Phind<span class="directory-icon">💻</span> </button> <button class="engine-button" data-engine="you"> You.com<span class="directory-icon">👤</span> </button> <!-- Moteurs de recherche généraux - partie visible par défaut --> <button class="engine-button" data-engine="google"> Google<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button" data-engine="bing"> Bing<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button" data-engine="duckduckgo"> DuckDuckGo<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button" data-engine="brave"> Brave<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button" data-engine="yahoo"> Yahoo<span class="directory-icon">🇺🇸</span> </button> <!-- Additional services to reach 15 total --> <button class="engine-button" data-engine="baidu"> Baidu<span class="directory-icon">🇨🇳</span> </button> <button class="engine-button" data-engine="naver"> Naver<span class="directory-icon">🇰🇷</span> </button> <button class="engine-button" data-engine="yandex"> Yandex<span class="directory-icon">🇷🇺</span> </button> <button class="engine-button open-source" data-engine="qwant"> Qwant<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button open-source" data-engine="ecosia"> Ecosia<span class="directory-icon">🇩🇪</span> </button> </div> <!-- Hidden services - smaller list now since we show 15 by default --> <div id="more-services-container" class="more-services-container hide"> <!-- Moteurs asiatiques --> <button class="engine-button" data-engine="sogou"> Sogou<span class="directory-icon">🇨🇳</span> </button> <button class="engine-button" data-engine="360search"> 360 Search<span class="directory-icon">🇨🇳</span> </button> <button class="engine-button" data-engine="yahoojp"> Yahoo JP<span class="directory-icon">🇯🇵</span> </button> <button class="engine-button" data-engine="daum"> Daum<span class="directory-icon">🇰🇷</span> </button> <button class="engine-button" data-engine="goo"> Goo<span class="directory-icon">🇯🇵</span> </button> <button class="engine-button" data-engine="coccoc"> Coc Coc<span class="directory-icon">🇻🇳</span> </button> <button class="engine-button" data-engine="shenma"> Shenma<span class="directory-icon">🇨🇳</span> </button> <button class="engine-button" data-engine="petal"> Petal<span class="directory-icon">🇨🇳</span> </button> <!-- Moteurs alternatifs --> <button class="engine-button open-source" data-engine="startpage"> Startpage<span class="directory-icon">🇳🇱</span> </button> <button class="engine-button open-source" data-engine="mojeek"> Mojeek<span class="directory-icon">🇬🇧</span> </button> <button class="engine-button open-source" data-engine="presearch"> Presearch<span class="directory-icon">🌐</span> </button> <button class="engine-button open-source" data-engine="swisscows"> Swisscows<span class="directory-icon">🇨🇭</span> </button> <button class="engine-button open-source" data-engine="metager"> Metager<span class="directory-icon">🇩🇪</span> </button> <button class="engine-button open-source" data-engine="gigablast"> Gigablast<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button open-source" data-engine="kagi"> Kagi<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button open-source" data-engine="neeva"> Neeva<span class="directory-icon">🇺🇸</span> </button> <!-- Spécialisés --> <button class="engine-button" data-engine="wolfram"> Wolfram<span class="directory-icon">🧮</span> </button> <button class="engine-button" data-engine="deepl"> DeepL<span class="directory-icon">🇩🇪</span> </button> </div> <!-- Show More/Less Button - SIMPLIFIED TEXT --> <div style="display: flex; justify-content: center; margin-top: 16px; margin-bottom: 16px;"> <button id="show-more-button" class="show-more-button"> <span>More</span> <span>+</span> </button> <span style="margin-right: 15px;"></span> <button id="add-service-button" class="add-service-button" style="display: none;"> <span>Add Your URL</span> <span>✨</span> </button> </div> <!-- Add Service Button - Search mode --> <div class="add-service-container"> </div> <!-- Shopping Platforms Section - Hidden by default --> <div id="shopping-container" class="engines-container hide"> <!-- First 15 shopping platforms visible by default - INCREASED FROM 10 TO 15 --> <button class="engine-button open-source active" data-shopping="amazon"> Amazon<span class="directory-icon">🛍️</span> </button> <button class="engine-button" data-shopping="ebay"> eBay<span class="directory-icon">📦</span> </button> <button class="engine-button" data-shopping="aliexpress"> AliExpress<span class="directory-icon">🌏</span> </button> <button class="engine-button open-source" data-shopping="etsy"> Etsy<span class="directory-icon">🎨</span> </button> <button class="engine-button" data-shopping="zalando"> Zalando<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-shopping="otto"> Otto<span class="directory-icon">🇩🇪</span> </button> <button class="engine-button" data-shopping="cdiscount"> Cdiscount<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button" data-shopping="fnac"> Fnac<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button" data-shopping="bolcom"> Bol.com<span class="directory-icon">🇳🇱</span> </button> <button class="engine-button" data-shopping="allegro"> Allegro<span class="directory-icon">🇵🇱</span> </button> <button class="engine-button" data-shopping="elcorteingles"> El Corte Inglés<span class="directory-icon">🇪🇸</span> </button> <button class="engine-button" data-shopping="laredoute"> La Redoute<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button" data-shopping="asos"> ASOS<span class="directory-icon">🇬🇧</span> </button> <button class="engine-button" data-shopping="galerieslafayette"> Galeries Lafayette<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button open-source" data-shopping="manomano"> ManoMano<span class="directory-icon">🇪🇺</span> </button> </div> <!-- Shopping More Services - Smaller list now --> <div id="shopping-more-container" class="more-services-container hide"> <button class="engine-button" data-shopping="vinted"> Vinted<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-shopping="aboutyou"> About You<span class="directory-icon">🇩🇪</span> </button> <button class="engine-button" data-shopping="mediamarkt"> MediaMarkt<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-shopping="darty"> Darty<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button open-source" data-shopping="carrefour"> Carrefour<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-shopping="decathlon"> Decathlon<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-shopping="boulanger"> Boulanger<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button" data-shopping="notino"> Notino<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button open-source" data-shopping="idealo"> Idealo<span class="directory-icon">🇩🇪</span> </button> </div> <!-- Show More Button for Shopping - SIMPLIFIED TEXT --> <div id="shopping-more-button-container" style="display: none; justify-content: center; margin-top: 16px; margin-bottom: 16px;"> <button id="shopping-more-button" class="show-more-button"> <span>More</span> <span>+</span> </button> <span style="margin-right: 15px;"></span> <button id="shopping-add-service-button" class="add-service-button" style="display: none;"> <span>Add Your URL</span> <span>✨</span> </button> </div> <!-- Add Service Button - Shopping mode (CONSISTENT POSITION) --> <div id="shopping-add-service-container" class="add-service-container" style="display: none;"> </div> <!-- Archive Platforms Section - Hidden by default --> <div id="archive-container" class="engines-container hide"> <!-- First 15 archive platforms visible by default - INCREASED FROM 10 TO 15 --> <button class="engine-button active" data-archive="archive"> Internet Archive<span class="directory-icon">🌐</span> </button> <button class="engine-button" data-archive="europeana"> Europeana<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-archive="ina"> INA<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button" data-archive="britishpathe"> British Pathé<span class="directory-icon">🇬🇧</span> </button> <button class="engine-button" data-archive="dpla"> DPLA<span class="directory-icon">🇺🇸</span> </button> <button class="engine-button" data-archive="gallica"> Gallica BnF<span class="directory-icon">🇫🇷</span> </button> <button class="engine-button" data-archive="bfi"> BFI Player<span class="directory-icon">🇬🇧</span> </button> <button class="engine-button" data-archive="medici"> Medici.tv<span class="directory-icon">🎭</span> </button> <button class="engine-button" data-archive="artfilms"> Artfilms Digital<span class="directory-icon">🎬</span> </button> <button class="engine-button" data-archive="onf"> NFB Canada<span class="directory-icon">🇨🇦</span> </button> <button class="engine-button" data-archive="bnespana"> Biblioteca Digital Hispánica<span class="directory-icon">🇪🇸</span> </button> <button class="engine-button" data-archive="dle"> Digital Library of Europe<span class="directory-icon">🇪🇺</span> </button> <button class="engine-button" data-archive="filmoteca"> Filmoteca Española<span class="directory-icon">🇪🇸</span> </button> <button class="engine-button" data-archive="openimages"> Open Images<span class="directory-icon">🇳🇱</span> </button> <button class="engine-button" data-archive="prelinger"> Prelinger Archives<span class="directory-icon">🎞️</span> </button> </div> <!-- Archive More Services - Smaller list now --> <div id="archive-more-container" class="more-services-container hide"> <button class="engine-button" data-archive="kinopoisk"> Kinopoisk HD<span class="directory-icon">🇷🇺</span> </button> <button class="engine-button" data-archive="eyefilm"> Eye Film Player<span class="directory-icon">🇳🇱</span> </button> <button class="engine-button" data-archive="filmportal"> Filmportal<span class="directory-icon">🇩🇪</span> </button> <button class="engine-button" data-archive="mediathek"> ARD Mediathek<span class="directory-icon">🇩🇪</span> </button> <button class="engine-button" data-archive="gaumont"> Gaumont Pathé Archives<span class="directory-icon">🇫🇷</span> </button> </div> <!-- Show More Button for Archive - SIMPLIFIED TEXT --> <div id="archive-more-button-container" style="display: none; justify-content: center; margin-top: 16px; margin-bottom: 16px;"> <button id="archive-more-button" class="show-more-button"> <span>More</span> <span>+</span> </button> <span style="margin-right: 10px;"></span> <button id="archive-add-service-button" class="add-service-button" style="display: none;"> <span >Add Your URL</span> <span>✨</span> </button> </div> <!-- Add Service Button - Archive mode (CONSISTENT POSITION) --> <div id="archive-add-service-container" class="add-service-container" style="display: none;"> </div> <!-- Music platforms container - SoundCloud as default platform --> <div id="music-container" class="engines-container hide"> <!-- First 10 music platforms visible by default --> <button class="engine-button" data-music="spotify"> Spotify<span class="directory-icon">🎧</span> </button> <button class="engine-button" data-music="applemusic"> Apple Music<span class="directory-icon">🍎</span> </button> <button class="engine-button" data-music="youtubemusic"> YouTube Music<span class="directory-icon">▶️</span> </button> <button class="engine-button active" data-music="soundcloud"> SoundCloud<span class="directory-icon">☁️</span> </button> <button class="engine-button" data-music="deezer"> Deezer<span class="directory-icon">🎵</span> </button> <button class="engine-button" data-music="bandcamp"> Bandcamp<span class="directory-icon">🎸</span> </button> <button class="engine-button" data-music="tidal"> Tidal<span class="directory-icon">🌊</span> </button> <button class="engine-button" data-music="amazonmusic"> Amazon Music<span class="directory-icon">🔍</span> </button> <button class="engine-button" data-music="lastfm"> Last.fm<span class="directory-icon">📊</span> </button> <button class="engine-button" data-music="pandora"> Pandora<span class="directory-icon">📻</span> </button> </div> <!-- Music "More" container (20 additional platforms) --> <div id="music-more-container" class="more-services-container hide"> <button class="engine-button" data-music="iheartradio"> iHeartRadio<span class="directory-icon">❤️</span> </button> <button class="engine-button" data-music="tunein"> TuneIn<span class="directory-icon">📡</span> </button> <button class="engine-button" data-music="audiomack"> Audiomack<span class="directory-icon">🎚️</span> </button> <button class="engine-button" data-music="7digital"> 7digital<span class="directory-icon">🔢</span> </button> <button class="engine-button" data-music="beatport"> Beatport<span class="directory-icon">🎛️</span> </button> <button class="engine-button" data-music="mixcloud"> Mixcloud<span class="directory-icon">☁️</span> </button> <button class="engine-button" data-music="napster"> Napster<span class="directory-icon">🎧</span> </button> <button class="engine-button" data-music="qobuz"> Qobuz<span class="directory-icon">🔊</span> </button> <button class="engine-button" data-music="boomplay"> Boomplay<span class="directory-icon">🌍</span> </button> <button class="engine-button" data-music="anghami"> Anghami<span class="directory-icon">🌟</span> </button> <button class="engine-button" data-music="jamendo"> Jamendo<span class="directory-icon">🎼</span> </button> <button class="engine-button" data-music="nts"> NTS Radio<span class="directory-icon">📻</span> </button> <button class="engine-button" data-music="jazzradio"> Jazzradio<span class="directory-icon">🎷</span> </button> <button class="engine-button" data-music="musopen"> Musopen<span class="directory-icon">🎻</span> </button> <button class="engine-button" data-music="idagio"> Idagio<span class="directory-icon">🎹</span> </button> <button class="engine-button" data-music="primephonic"> Primephonic<span class="directory-icon">🎵</span> </button> <button class="engine-button" data-music="jango"> Jango<span class="directory-icon">🎶</span> </button> <button class="engine-button" data-music="gaana"> Gaana<span class="directory-icon">🇮🇳</span> </button> <button class="engine-button" data-music="jiosaavn"> JioSaavn<span class="directory-icon">🇮🇳</span> </button> <button class="engine-button" data-music="audius"> Audius<span class="directory-icon">🎧</span> </button> </div> <!-- Music "More" button container --> <div id="music-more-button-container" style="display: none; justify-content: center; margin-top: 16px; margin-bottom: 16px;"> <button id="music-more-button" class="show-more-button"> <span>More</span> <span>+</span> </button> <span style="margin-right: 15px;"></span> <button id="music-add-service-button" class="add-service-button" style="display: none;"> <span>Add Your URL</span> <span>✨</span> </button> </div> <!-- Music "Add Service" container --> <div id="music-add-service-container" class="add-service-container" style="display: none;"> </div> <!-- Import/Export Section --> <div id="import-export" class="import-export" style="display: none;"> <button id="export-button"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path> <polyline points="7 10 12 15 17 10"></polyline> <line x1="12" y1="15" x2="12" y2="3"></line> </svg> Export URL </button> <label for="import-input" style="cursor: pointer;"> <button> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path> <polyline points="17 8 12 3 7 8"></polyline> <line x1="12" y1="3" x2="12" y2="15"></line> </svg> Import URL </button> <input type="file" id="import-input" class="import-input" accept=".json"> </label> </div> <!-- NEW SECTION: Search History --> <div class="search-history"> <div class="search-history-header"> <div class="search-history-title"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <circle cx="12" cy="12" r="10"></circle> <polyline points="12 6 12 12 16 14"></polyline> </svg> <span style="text-align: center; color: #4d4d4d; "></span> </div> <div class="search-history-actions" > <button class="search-history-export" id="export-history"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path> <polyline points="7 10 12 15 17 10"></polyline> <line x1="12" y1="15" x2="12" y2="3"></line> </svg> <span style="margin-right: 20px;">Export</span> </button> <button class="search-history-clear" id="clear-history"> <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="3 6 5 6 21 6"></polyline> <path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path> </svg> <span>Clear All</span> </button> </div> </div> <div class="search-history-items" id="search-history-items"> <!-- History items will be populated by JavaScript --> <div class="search-history-empty" style="text-align: center; color: #9ca3af; padding: 20px;"> No search history yet. Your recent searches will appear here. </div> </div> </div> </main> <!-- Footer - MODIFIED WITH TWO COLUMNS AND FIXED POSITION --> <footer> <div class="footer-left"> <p><span class="font-mono"></span>© 2025 A7LAS | <a href="https://2points13.fr" target="_banc">2.13</a></span></p> </div> <div class="footer-right"> <a href="#" id="start-homepage-link">On your starter page</a> <a href="#" id="legal-link">Legal Notice</a> </div> </footer> <!-- Modals --> <!-- About Modal --> <div id="about-modal" class="modal"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">About A7LAS</h2> <button class="close-modal" data-modal="about-modal">×</button> </div> <div class="modal-body"> <p>My name is <strong>Simon Dupont-Gellert</strong> (ceo & head of design at <strong>2.13</strong>), and as a developer and designer, I've often encountered a major frustration: searching on the internet. While traditional search engines exist, their efficiency, interface, and ability to precisely meet users' needs often fall short. That's why I decided to create <strong>A7LAS</strong>, a meta search engine that I built primarily for the pleasure of simplifying the search process and enhancing the user experience.</p> <h2>Why A7LAS (by 2.13)?</h2> <p>The idea behind A7LAS is to solve a problem I've always felt personally: searching on the internet can be complicated, cluttered with options and irrelevant results. By simplifying the search process, I wanted to provide a tool that is both powerful and intuitive, combining traditional search engines with innovative features. A7LAS enables users to navigate the web in a smoother, faster, and more efficient way. This project was driven by my desire to make searching enjoyable without sacrificing the quality of the results.</p> <h2>A7LAS Features</h2> <ul> <li><strong>Classic Search:</strong> A7LAS relies on classic search engines to ensure relevant results, while eliminating unnecessary steps and simplifying access to the information you need.</li> <li><strong>New Search Tools:</strong> In addition to traditional search engines, A7LAS integrates smart filters and innovative search methods, delivering answers tailored to specific needs.</li> <li><strong>Simplified Shopping:</strong> A7LAS makes online shopping simpler, more fluid, and more personalized, allowing users to easily find the products they are looking for without wasting time.</li> <li><strong>Web Archives:</strong> A7LAS also features web archive search, enabling users to discover content that may have been forgotten or is otherwise hard to find on the web.</li> <li><strong>Optimized Ergonomics:</strong> One of A7LAS's key aspects is its ergonomic interface. I paid particular attention to making the user experience as simple and fluid as possible. Every element is designed for easy access, reducing information overload and ensuring intuitive navigation.</li> <li><strong>Microphone Integration:</strong> To further streamline the search experience, A7LAS includes voice recognition functionality directly in the search bar. You can simply activate the microphone and ask a question or speak a search term to get immediate relevant results. This feature is an asset for those who prefer voice interaction, providing a faster and more natural experience.</li> </ul> <p>All of this is available directly at <a href="https://a7las.com">a7las.com</a>.</p> <p>Discover 2.13 agency <a href="http://2points13.fr">2points13.fr</a>.</p> <h2>Contact</h2> <p>If you have any questions or feedback, feel free to reach out to me at <a href="mailto:[email protected]">[email protected]</a>.</p> <h2>Conclusion</h2> <p>A7LAS was born from my desire to simplify a task that has become too complex. This meta search engine, designed with a strong focus on ergonomics and simplicity, allows for more efficient searching while providing a pleasant user experience. The integration of voice recognition in the search bar and the emphasis on a clear, functional interface are examples of my commitment to making web searching as intuitive and fluid as possible. A7LAS combines the best of classic search engines with modern features to transform the way we explore information on the internet.</p> </div> </div> </div> <div id="homepage-modal" class="modal"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">Set A7LAS as your homepage</h2> <button class="close-modal" data-modal="homepage-modal">×</button> </div> <div class="modal-body"> <p>Would you like to make A7LAS your start page? Follow the instructions for your browser:</p> <div id="browser-instructions-container"> <!-- This will be populated dynamically with browser-specific instructions --> </div> <div class="modal-buttons" style="display: flex; justify-content: space-between; margin-top: 20px;"> <button id="homepage-later-btn" class="cancel-button">Later</button> <button id="homepage-copy-url-btn" class="save-button">Copy URL</button> </div> </div> </div> </div> <!-- Legal Notice Modal --> <div id="legal-modal" class="modal"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">Legal Notice</h2> <button class="close-modal" data-modal="legal-modal">×</button> </div> <div class="modal-body legal-content"> <ol> <li><strong>Website Presentation</strong> The <b>A7LAS</b> website, accessible at <a href="https://a7las.com">a7las.com</a>, is published by 2.13, a micro-enterprise engaged in computer research.</li> <li><strong>Legal Information</strong> Company name: <b>2.13</b></br>Siret 45235672800041</br>Publication Director: Simon Dupont-Gellert </br>Contact: <b>[email protected]</b></li> <li><strong>Website Hosting</strong> Hosting provider: OVH Hosting address: 2 rue Kellermann -- BP 80157 59053 ROUBAIX CEDEX 1, France</li> <li><strong>Intellectual Property</strong> All content on this website (texts, images, videos, logos, etc.) is protected by copyright, trademark law, or other intellectual property rights. Any reproduction, distribution, modification, or exploitation of this content without prior authorization is strictly prohibited.</li> <li><strong>Liability</strong> <b>2.13</b> makes every effort to ensure the accuracy of the information available on the A7LAS website. However, we cannot be held responsible for any errors or omissions. Users are responsible for how they use the information provided on the site.</li> <li><strong>Personal Data</strong> <b>2.13</b> is committed to respecting the privacy of users' personal data on the A7LAS website. Data collected via this site is used solely within the framework of the services provided. In accordance with applicable regulations, you have the right to access, rectify, delete, and object to the processing of your personal data. To exercise these rights, please contact us at: [contact email address]. For more information, please refer to our Privacy Policy.</li> <li><strong>Cookies</strong> This website uses cookies to enhance the browsing experience. You can accept or refuse cookies by configuring your browser settings. For more information about cookies and how to manage your preferences, see our Cookie Policy.</li> <li><strong>External Links</strong> The <b>A7LAS</b> website may contain links to external sites. <b>2.13</b> is not responsible for the content of these sites and disclaims any liability for damages resulting from their use.</li> <li><strong>Applicable Law and Jurisdiction</strong> This legal notice is governed by French and European law.</li> </ol> </div> </div> </div> <div id="ios-pwa-instructions" class="browser-instructions" style="display:none; max-width: 500px; margin: 24px auto 0;"> <h4>📱 Installer cette application sur iPhone ou iPad</h4> <ol> <li>Ouvrez <strong>Safari</strong> (obligatoire pour iOS).</li> <li>Touchez l'icône <strong>Partager</strong> <span style="font-size:1.2em;">↑</span> en bas de l'écran.</li> <li>Faites défiler et choisissez <strong>Sur l'écran d'accueil</strong>.</li> <li>Validez avec <strong>Ajouter</strong>.</li> </ol> <div style="margin-top:10px;font-size:13px;color:#6b7280;">Vous profiterez ainsi d'une expérience plein écran, rapide et sans barre d'adresse !</div> </div> <script> // Affiche le message uniquement pour iOS (iPhone/iPad) (function() { var iOS = /iphone|ipad|ipod/i.test(navigator.userAgent); if (iOS) { var el = document.getElementById('ios-pwa-instructions'); if (el) el.style.display = 'block'; } })(); </script> <script src="script.js"></script> </body> </html>