URL: https://linuxfr.org/news/next-v1-3-0-le-navigateur-web-entierement-programmable Title: Next v1.3.0, le navigateur web entiĂšrement programmable Authors: dzecniv Ysabeau đ§¶, Davy Defaud, palm123, BenoĂźt Sibaud et Pierre Jarillon Date: 2019ćčŽ08æ06æ„T17:53:34+02:00 License: CC By-SA Tags: internet, productivitĂ©, lisp, common_lisp, emacs, vim et gestionnaire_de_mots_de_passe Score: 67 Je suis heureux de vous prĂ©senter le navigateur Next, projet que jâai rejoint il y a deux mois, et dont la version 1.3.0 livre son lot de fonctionnalitĂ©s attendues pour un usage quotidien : - blocage de publicitĂ©s (par domaine) ; - sĂ©lection approchĂ©e / _fuzzy_ amĂ©liorĂ©e ; - raccourcis claviers Ă la Vim ; - un gestionnaire de tĂ©lĂ©chargements ; - un mode NoScript ; - un « _backâend_ » basĂ© sur Blink, le moteur de rendu de Chrome (qui sâajoute au _backâend_ WebKit) ; - prise en charge des serveurs mandataires (_proxies_), donc de Tor ; - et plus encore. Oui, le tester donne envie de ne plus sâen sĂ©parer. :) Next est unique car il nâexpose pas dâ[API](https://fr.wikipedia.org/wiki/Interface_de_programmation), il est totalement ouvert et programmable, et qui plus est programmable Ă chaud, il nây a pas besoin de le redĂ©marrer pour tester ses changements. Et au contraire des projets similaires (Konqueror ou Vimperator qui sont morts, Qutebrowser...), il nâest pas liĂ© Ă un moteur de rendu particulier. Je vous propose de le dĂ©couvrir, et de [nous soutenir pour voir une version 1.4](https://www.indiegogo.com/projects/next-browser-v1-4-0/x/13474269#/) ! ---- [DĂ©pot GitHub](https://github.com/atlas-engineer/next/) [Campagne participative pour la suite](https://www.indiegogo.com/projects/next-browser-v1-4-0/x/13474269#/) [Site Web](https://next.atlas.engineer/) ---- # Installation Lâinstallation est aisĂ©e pour GNU/Linux et macOS : on propose une archive Guix toutâenâun et il est dans les MacPorts. Notez quâil fonctionne sĂ»rement sous Windows, mais que nous nâavons pas pu essayer (il faudra sâassurer dâavoir [D-BUS](https://fr.wikipedia.org/wiki/D-Bus)). Voyez la page de [tĂ©lĂ©chargement](https://next.atlas.engineer/download). Il est Ă©galement facile de lâinstaller depuis les sources, un `make` installe toutes les dĂ©pendances et produit un exĂ©cutable. # Architecture Next est architecturĂ© autour de deux composants : le cĆur et un portage par plateâforme. Nous avons actuellement deux platesâformes : GTK/WebKit et Qt/Blink. Le cĆur est en Common Lisp, le portage GTK en C et le Qt en Python (PyQt, Webengine). Les deux composants communiquent par D-Bus. Nous utilisions dâailleurs [XML-RPC](https://fr.wikipedia.org/wiki/XML-RPC) avant D-Bus, et le changement nous bĂ©nĂ©ficie grandement. On a gagnĂ© en introspection, en messages dâerreur, en sĂ©curitĂ©, et surtout en performances. En effet, il ne fallait plus que la communication (toujours asynchrone, dans les deux sens) paraisse avoir un dĂ©lai. # DĂ©veloppement et introspection en direct Common Lisp (, , ) est la clef qui permet le dĂ©veloppement et la manipulation du navigateur en direct. On peut lancer Next, lui demander de lancer un serveur [Swank (le _backâend_ de Slime)](https://en.wikipedia.org/wiki/SLIME), et hop, on est connectĂ© au navigateur et lâon peut inspecter son Ă©tat, dĂ©finir de nouvelles commandes, corriger des fonctions et les tester immĂ©diatement, etc. Ou habituellement, lorsquâon dĂ©veloppe en Lisp, on lance Next depuis son REPL Lisp (dans Emacs, [Atom](https://github.com/neil-lindquist/SLIMA/), Vim ou [dâautres Ă©diteurs](https://lispcookbook.github.io/cl-cookbook/editor-support.html)). # Autres fonctionnalitĂ©s En plus des fonctionnalitĂ©s citĂ©es en introduction (la navigation *fuzzy* est vraiment cool), on peut citer comme fonctionnalitĂ©s pratiques la navigation par titre (`C-.` liste lâensemble des titres de la page (h1...h6), on *fuzzy*âsĂ©lectionne pour se rendre Ă ladite section) et un historique reprĂ©sentĂ© comme un arbre. Voyez les captures dâĂ©cran sur le site principal. # Version 1.4 On a forcĂ©ment plein dâidĂ©es et dâenvies pour la suite, notamment : - une isolation par onglet (dire que tel onglet ou telle fenĂȘtre utilise Tor, rejette les _cookies_, etc.) ; - une excellente intĂ©gration Ă un Ă©diteur de texte, pour que Next devienne *vraiment* lâ_Emacs_ des navigateurs » (notez que ce pourrait ĂȘtre plus facile que prĂ©vu grĂące Ă lâĂ©diteur existant [Lem](https://github.com/cxxxr/lem)) ; - sâensuit, un gestionnaire de fichiers ; - un gestionnaire de mots de passe ; - une recherche de texte interâonglet, idem pour la navigation par titre ; - etc. Et maintenant quâon a les bases, on prĂ©voit de sâamuser un petit peu et dâexpĂ©rimenter avec le tĂ©lĂ©chargement de vidĂ©os (on pourrait utiliser facilement `youtube-dl`, puisque nous ne sommes pas limitĂ©s par la plateâforme du navigateur), des commandes pour interagir avec GitHub, etc. Nous ne sommes plus limitĂ©s que par notre imagination ! Si le projet vous botte, nâhĂ©sitez pas Ă [nous soutenir par un don](https://www.indiegogo.com/projects/next-browser-v1-4-0/x/13474269#/) (mĂȘme symbolique :)) ; et une petite Ă©toile sur GitHub aide aussi. AltStyle ă«ăăŁăŠć€æăăăăăŒăž (->ăȘăȘăžăă«) / ăąăăŹăč: ăąăŒă: ăăă©ă«ă éłćٰăă©ăŠă¶ ă«ăä»ă é èČćè»ą æćæĄć€§ ăąăă€ă«
AltStyle ă«ăăŁăŠć€æăăăăăŒăž (->ăȘăȘăžăă«) / ăąăăŹăč: ăąăŒă: ăăă©ă«ă éłćٰăă©ăŠă¶ ă«ăä»ă é èČćè»ą æćæĄć€§ ăąăă€ă«