Copyright (C) 2026 [New-Tab]
Ce site web (et son code source) est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU telle que publiée par la Free Software Foundation ; soit la version 3 de la licence, soit (à votre discrétion) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou d'ADÉQUATION À UN BUT PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec ce programme. Sinon, voir https://gnu.org.
Une page New Tab personnalisable : thème, sidebar paramètres, moteur de recherche, suggestions, notes, raccourcis, météo, compteur de recherches (via serveur Neon), etc.
Projet en HTML/CSS/JS avec un backend Node/Express pour stocker le compteur.
- Sidebar “Paramètres” (ouvrable/fermeture avec un bouton burger)
- Thème : choix d’une couleur/gradient (modal “Choisir un thème”)
- Mode sombre : toggle persistant (
localStorage.themeMode) - Moteur de recherche : sélection entre les moteurs classiques et les assistants IA (ChatGPT, Claude, Gemini, Perplexity, Copilot et Le Chat), qui ouvrent une nouvelle recherche ou discussion avec la demande saisie
- Discussions IA intégrées : ajoutez une clé API OpenAI, Anthropic, Google AI, Perplexity ou Mistral dans la barre latérale pour discuter dans une fenêtre intégrée ; sans clé, l’assistant continue de s’ouvrir sur son site. Les clés sont enregistrées dans le
localStoragedu navigateur et envoyées directement au fournisseur. Copilot reste en redirection, Microsoft ne proposant pas de clé API publique pour ses discussions personnelles. - Recherche privée : ouverture dans un moteur différent (modal via bouton)
- Suggestions : auto-complétion via Google Suggest
- Raccourcis : grille de raccourcis + ajout/édition/suppression
- Notes : sauvegarde automatique dans
localStorage.notes - Météo : récupération Wttr.in (toggle “Afficher la météo”)
- Heure/date & salutation : affichage en français, désactivé par défaut (toggle “Afficher l’heure”)
- À chaque recherche, le front appelle le backend :
POST /api/count
- La sidebar affiche :
- total (
GET /api/count) - et le nombre “aujourd’hui”
- total (
- Option “Renforcer la securité” :
- refuse certains liens non-HTTPS
- ouvre les liens externes dans un nouvel onglet avec
noopener,noreferrer
- Installer les dépendances :
npm install
- Configurer Neon :
DATABASE_URL: chaîne de connexion fournie par Neon
- Lancer le serveur :
node server.js
Le serveur expose :
GET /api/(message ok)GET /api/count(lecture total + aujourd’hui)POST /api/count(incrément)
Le front utilise
API_BASE = "/api".
Le compteur utilise une table PostgreSQL searches. Le schéma complet, compatible Neon, se trouve dans neon/migrations/20260701083045_create_search_queries_table.sql.
Attendu (schéma implicite) :
id(PK) : le compteur global est surid = 1total: total historiquetoday_count: compteur du jourlast_reset: date ISOYYYY-MM-DD
Le backend crée automatiquement une ligne si elle n’existe pas, via getCounter().
Le projet est compatible Netlify (fichiers présents : netlify.toml).
index.html: page principale + sidebar + modalsindex.js: logique front (thème, recherche, suggestions, compteur, etc.)styles.css: styles + mode sombreserver.js: backend compteur NeonLite/: version “lite”
- Les recherches sont comptées côté serveur (table Neon
searches). - Les notes et préférences visuelles (ex : thème, moteur, toggles) sont stockées dans le navigateur via
localStorage.
- Pop-up anti-adblock (détection renforcée)
- IA pour reformulation / explications côté front (nécessite API)
- Historique de recherches + nouvelles (UI)
- Blocage/filtrage plus fin de certaines données envoyées au serveur
Projet open source : voir le lien dans la sidebar (© New-Tab est open source 💙).