Introduction
Ce mois d'avril 2026, Ladybird a fait un bond en avant avec 333 Pull Requests (PR) fusionnées provenant de 35 contributeurs, dont 7 ont fait leur premier commit. Découvrons ensemble les avancées marquantes qui ont ponctué ce mois.
Nouveaux sponsors, nouvelles opportunités
Ladybird est fier d'annoncer de nouveaux sponsors qui nous permettent de maintenir notre engagement envers un web ouvert. La Human Rights Foundation a soutenu notre projet à hauteur de 50 000 $ via le programme "AI for Individual Rights". Jakub Stęplowski a également apporté une contribution généreuse de 1 000 $. Ces soutiens sont essentiels pour notre développement continu.
Visionneuse PDF intégrée
Nous avons intégré un visualiseur PDF inline grâce à pdf.js (#9132). Ce visualiseur, entièrement en JavaScript, HTML et CSS, permet la navigation dans les pages, la sélection de texte, le zoom et la recherche dans le document. Cette fonctionnalité a également permis d'améliorer notre système de cache pour les vues en tableaux typés et l'invalidation :has().
Autocomplétion enrichie et historique de navigation
L'adresse bar offre désormais des suggestions enrichies basées sur l'historique de navigation (#8933). Ces suggestions incluent les pages précédemment visitées avec leurs favicons et titres, des raccourcis vers les moteurs de recherche, et des complétions d'URL simples. En coulisse, un HistoryStore basé sur SQLite enregistre chaque navigation avec son titre, favicon, nombre de visites et heure de la dernière visite.
Parsing HTML spéculatif et incrémental
Le parseur HTML de Ladybird a été amélioré pour consommer le corps des réponses de manière incrémentale (#9151). Cette méthode permet de traiter les données au fur et à mesure de leur arrivée, évitant ainsi d'attendre la totalité du contenu avant de commencer le parsing. Par ailleurs, le parseur HTML spéculatif (#9114) a été implémenté pour anticiper les ressources à charger lorsque le parseur principal est bloqué par un script externe synchrone.
Compilation JavaScript hors-thread
La génération de bytecode pour les scripts récupérés s'effectue désormais sur un pool de threads en arrière-plan (#9118). Cette optimisation de l'exécution JavaScript permet de décharger environ 200 ms de temps du thread principal lors du chargement de sites lourds comme YouTube, améliorant ainsi la réactivité globale.
Rasterisation par Navigable
Chaque élément Navigable bénéficie d'une rasterisation dédiée, permettant une gestion plus efficace des ressources graphiques et une meilleure performance d'affichage.
Conclusion
Ces innovations montrent notre engagement à améliorer continuellement l'expérience utilisateur et les performances de Ladybird. Si tu souhaites discuter de ton projet et voir comment nous pouvons t'aider, discutons de ton projet en 15 minutes.