2 points par GN⁺ 2024-10-16 | 1 commentaires | Partager sur WhatsApp
  • Introduction à l’ingénierie des navigateurs web

    • Les navigateurs web sont utilisés au quotidien, mais leur fonctionnement est complexe. Ce livre explique comment construire un navigateur web basique mais complet, du réseau jusqu’à JavaScript, avec quelques milliers de lignes de code Python.
  • Préface

    • Fournit une vue d’ensemble de l’histoire des navigateurs web et du Web.
  • Partie 1 : Chargement des pages

    • Téléchargement des pages web
      • Explique comment télécharger une page web via les URL et les requêtes HTTP.
    • Dessiner à l’écran
      • Explique comment créer une fenêtre et dessiner sur un canvas.
    • Mise en forme du texte
      • Explique comment gérer le retour à la ligne des mots et l’espacement entre les lignes.
  • Partie 2 : Affichage des documents

    • Construction de l’arbre HTML
      • Explique comment parser et modifier du HTML.
    • Mise en page
      • Explique comment appliquer des layouts inline et block.
    • Application des styles de l’auteur
      • Explique comment parser et appliquer du CSS.
    • Gestion des boutons et des liens
      • Explique comment gérer les hyperliens et le chrome du navigateur.
  • Partie 3 : Exécution des applications

    • Transmission d’informations au serveur
      • Explique comment soumettre des formulaires et interagir avec un serveur web.
    • Exécution de scripts interactifs
      • Explique comment modifier le DOM et réagir aux événements.
    • Protection des données
      • Présente les cookies et la connexion, ainsi que XSS et CSRF.
  • Partie 4 : Navigateurs modernes

    • Ajout d’effets visuels
      • Explique le blending, le clipping et la composition.
    • Planification des tâches et des threads
      • Explique la boucle d’événements et le pipeline de rendu.
    • Animation et composition
      • Explique les animations fluides utilisant le GPU.
    • Assurer l’accessibilité du contenu
      • Explique la saisie clavier, le zoom et l’arbre d’accessibilité.
    • Prise en charge du contenu embarqué
      • Explique comment prendre en charge les images, les iframes et le scripting.
    • Réutilisation des calculs précédents
      • Explique l’invalidation, l’édition et la correction.
  • Conclusion

    • Explique ce qui n’a pas été couvert ainsi que l’évolution de l’environnement.
  • Annexe

    • Comprend un glossaire, une bibliographie, une présentation de l’auteur, une liste de contributeurs et une liste de cours basés sur ce livre.

Récapitulatif de GN⁺

  • Ce livre est utile à celles et ceux qui veulent comprendre le fonctionnement des navigateurs web. Le processus de construction d’un navigateur en Python permet d’apprendre diverses techniques comme le networking, le parsing HTML et l’application du CSS.
  • Il aide à comprendre l’histoire des navigateurs web et les fonctionnalités des navigateurs modernes. En particulier, il inclut des contenus sur la sécurité web et l’accessibilité, offrant des connaissances applicables en pratique.
  • Ce livre peut être intéressant et instructif pour les développeurs web ou les ingénieurs logiciel, et sera d’une grande aide pour comprendre le fonctionnement interne des navigateurs web.

1 commentaires

 
GN⁺ 2024-10-16
Commentaires sur Hacker News
  • La section « Stuff I didn't do » est un excellent point de ce livre

    • Le travail de layout est extrêmement difficile
    • CSS rend le layout encore plus complexe
    • CSS, HTML et JavaScript constituent aujourd'hui des logiciels très complexes
    • Le décodage vidéo est déporté vers le matériel, ce qui réduit la consommation de batterie
  • J'ai commencé à travailler sur un navigateur headless il y a 15 ans, en utilisant SpiderMonkey comme interpréteur JS

    • J'y ai ajouté une implémentation DOM personnalisée et un runtime Flash
    • Ce projet était très amusant
    • Ce livre m'intéresse
  • Ce livre est une ressource exhaustive qui fait penser à MITRE ATT&CK

  • C'est rafraîchissant de voir le browser engineering devenir une tendance

    • Aujourd'hui, le domaine est dominé par Google, Apple et Mozilla
    • J'aimerais voir davantage de moteurs de navigateur indépendants
  • Il existe un texte où l'auteur explique pourquoi Python a été choisi

    • Une partie est compilée de Python vers JS pour être exécutée dans le navigateur
  • L'un des auteurs remercie les lecteurs et se tient prêt à répondre aux questions

  • Je cherchais un projet intéressant et j'apprécie ce livre

    • Le livre illustré qui explique le fonctionnement de Chrome est aussi une bonne ressource pour commencer
  • Il est très intéressant de voir ce type de ressource être créé

    • Les navigateurs ressemblent à des boîtes noires mystérieuses et difficiles à décrypter
    • Des projets comme Ladybird font tomber ce mur
    • J'aimerais y contribuer un jour, et ce livre est un excellent point de départ
  • J'apprends l'architecture interne des navigateurs, et ce livre m'est très utile

    • Il aide à acquérir une compréhension intuitive de leur fonctionnement
  • C'est un bon livre, et je recommande de scinder le chapitre 9 en deux chapitres distincts

    • Il vaudrait mieux traiter séparément l'exécution de JavaScript, puis les interactions entre le DOM et les événements