Ingénierie des navigateurs web (2021)
(browser.engineering)-
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.
- Téléchargement des pages web
-
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.
- Construction de l’arbre HTML
-
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.
- Transmission d’informations au serveur
-
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.
- Ajout d’effets visuels
-
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
Commentaires sur Hacker News
La section « Stuff I didn't do » est un excellent point de ce livre
J'ai commencé à travailler sur un navigateur headless il y a 15 ans, en utilisant SpiderMonkey comme interpréteur JS
Ce livre est une ressource exhaustive qui fait penser à MITRE ATT&CK
C'est rafraîchissant de voir le browser engineering devenir une tendance
Il existe un texte où l'auteur explique pourquoi Python a été choisi
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
Il est très intéressant de voir ce type de ressource être créé
J'apprends l'architecture interne des navigateurs, et ce livre m'est très utile
C'est un bon livre, et je recommande de scinder le chapitre 9 en deux chapitres distincts