Northstar, le navigateur web « minimaliste » entièrement développé à partir de zéro en C, est disponible en version 1.0.12 pour Linux, macOS et Windows
Northstar, le navigateur web « minimaliste » entièrement développé en C, est désormais disponible en version 1.0.12. Northstar est un navigateur minimaliste : une page par fenêtre, un seul processus et environ 177 000 lignes de code C original, un volume suffisamment restreint pour qu'une seule personne puisse le lire et l'auditer de bout en bout. Il n’intègre aucun moteur de navigateur en amont, qu'il s'agisse de Gecko, de WebKit ou de Blink. Conçu pour préserver la confidentialité, le navigateur n'envoie ni données de télémétrie ni requêtes de mise à jour, et ne comporte pas d'assistant d'intelligence artificielle (IA) ni d'API Web de type IA. La navigation sécurisée vérifie par ailleurs l'hôte d'un élément de navigation de premier niveau par rapport à une liste noire SHA-256 locale avant de le récupérer. Les cookies, le stockage et le cache sont également partitionnés par origine. Northstar est un logiciel libre sous licence GNU General Public License, version 3 ou ultérieure, qui fonctionne sous Linux, macOS et Windows.
Northstar est un navigateur web minimaliste entièrement développé en C. Son moteur est conçu pour assurer une compatibilité pratique avec HTML5, les CSS modernes et JavaScript, sans intégrer Gecko, WebKit, Blink ni aucun autre moteur de navigation. Linux est la plateforme principale ; macOS et Windows sont également pris en charge. Northstar est un logiciel libre, distribué sous licence GNU General Public License, version 3 ou ultérieure.
« Aujourd'hui, nous avons le plaisir d'annoncer la sortie de Northstar 1.0.12. Northstar est l'édition minimaliste et libre du projet Nordstjernen : un navigateur de bureau à fenêtre unique, à page unique et à processus unique, construit à partir du même moteur C « clean-room », sous licence GNU General Public License, version 3 ou ultérieure. Il fonctionne sous Linux, macOS et Windows, et est désormais disponible sur le Microsoft Store. », a annoncé l'équipe du projet, le 2 octobre 2026.
Différentes versions du navigateur
L'équipe de Northstar indique qu'elle mène des activités d’innovation, de recherche et de développement dans le domaine des navigateurs Web. Cela implique notamment de créer différentes versions du navigateur afin de les tester et de les comparer.
En matière de standards du Web, le comportement de Northstar est évalué par rapport au texte de la spécification, section par section, et non par rapport à un autre navigateur. Le moteur exécute les tests « Web Platform Tests » en mode « headless ». En matière de sécurité, le navigateur s'exécute, sous Linux, derrière un bac à sable du système de fichiers Landlock (avec en plus PR_SET_NO_NEW_PRIVS), avec un filtre d'appels système seccomp de type « refus par défaut » aussi bien en mode graphique qu'en mode sans interface graphique/outils · pas de JIT.
Northstar est un navigateur minimaliste : une page par fenêtre, un seul processus. Le shell GTK s'exécute sur le thread principal et le moteur de page sur un thread dédié doté de sa propre boucle principale ; ainsi, une page lente ne bloque jamais la fenêtre ; le shell envoie des requêtes à ce thread et reçoit en retour les images rendues, le tout au sein du même processus. Le moteur est un ensemble compact de code C — environ 177 000 lignes de code C original, hors les bibliothèques tierces WAMR, Wuffs et les décodeurs audio — suffisamment petit pour qu’une seule personne puisse le lire et l’auditer de bout en bout.
Présentation de cette édition
Cette édition réduit Northstar à un navigateur de bureau à processus unique et sans onglets, basé sur le projet Nordstjernen. Elle omet délibérément les onglets, les processus de rendu par onglet, WebGL, WebGPU, une visionneuse PDF intégrée et les API Web de type IA. Elle n'envoie ni données de télémétrie ni requêtes de mise à jour.
La lecture audio s'effectue toujours en temps réel (MP3, MP2, Ogg Opus/Vorbis). Le décodage des images s'effectue en arrière-plan (PNG/APNG, GIF, BMP, JPEG et WebP via Wuffs, AVIF via libavif lorsque celle-ci est disponible, et SVG dans le moteur).
Fonctionnalités du navigateur
- Analyse du code HTML en DOM par lexbor ; CSS via la cascade propre au moteur — flex, grid, transforms, gradients, @keyframes, scroll snap et calculs mathématiques typés via calc() sur les longueurs, les angles, les durées et les résolutions.
- JavaScript sur l'interpréteur QuickJS — DOM, Shadow DOM, API d'observation, Canvas 2D (Path2D, ImageBitmap, DOMMatrix), WebCrypto (crypto.subtle via OpenSSL).
- Workers — workers dédiés avec messagerie de type « clone structuré », canaux de messages et canaux de diffusion.
- Stockage — IndexedDB via SQLite, localStorage/sessionStorage et l’API Cache (caches, paires requête/réponse conformément à la spécification Service Workers), le tout partitionné par site.
- Connexions en temps réel — WebSockets (avec libcurl 8.11 ou une version plus récente, ou une version intégrant la prise en charge des WebSockets) et événements envoyés par le serveur.
- API de navigation — window.navigation pour le routage monopage.
- Service workers — enregistrement au niveau de l’origine, persistance, interception contrôlée des requêtes de chargement de pages et pages hors ligne servies via l’API Cache.
- WebExtensions — extensions locales installées avec des scripts de contenu de manifeste, des ressources packagées sécurisées, un stockage local et une messagerie d’exécution.
- Communication réseau via HTTP/2 avec libcurl — HTTP/3 via Alt-Svc lorsque la bibliothèque libcurl associée le prend en charge — navigation « HTTPS-first », HSTS, DNS-over-HTTPS facultatif, CSP, vérifications de l’intégrité des sous-ressources (SRI) pour les scripts, et cookies partitionnés par site dans un magasin libcurl unique partagé par document.cookie et les requêtes réseau.
- Navigation sécurisée — avant qu’un élément de navigation de premier niveau ne soit récupéré, son hôte est vérifié par rapport à une liste noire SHA-256 locale. La vérification s’effectue entièrement sur l’appareil. La liste fournie ne contient que des entrées de test ; la liste réelle se trouve dans ~/.config/northstar/safebrowsing.list ou est spécifiée par la variable NS_SAFEBROWSING_LIST.
- Impression — La combinaison Ctrl+P met la page en page pour l'impression et transmet les feuilles à la boîte de dialogue d'impression propre au système d'exploitation via GtkPrintOperation : CUPS sous Linux, la boîte de dialogue Win32 sous Windows, le panneau Cocoa sous macOS. @media print définit la mise en page, @page définit le format de la feuille et les marges, tandis que break-before, break-after et break-inside déterminent où se termine une feuille.
- Interface utilisateur — signets, historique, téléchargements, recherche dans la page, zoom, plein écran, impression, enregistrement au format PDF ou image, source de la page, outils de développement avec une console JS, paramètres, navigation privée (--private), et une interface traduite en 40 langues qui suit la langue du système d’exploitation.
Disponibilité
Northstar 1.0.12 est disponible sur GitHub sous forme de code source sous licence GPL et sur le Microsoft Store pour Windows. Les binaires Linux les plus récents (un fichier ZIP portable, un fichier AppImage et un paquet Debian) datent de la version 1.0.7.
Sources : Annonce de Northstar 1.0.12, dépôt GitHub du projet
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des fonctionnalités proposées par cette version de Northstar browser ? Les trouvez-vous utiles et intéressantes ?
Voir aussi :
Vous avez lu gratuitement 111 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.