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 ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /