Programmation Web en Go
Programmation Web en Go
Résumé :
Introduction
Le livre « Go Web Programming » (auteur — Sau Sheong Chang, 2016, 312 pages) est un guide pratique pour créer des applications web en langage Go (Golang). Contrairement à de nombreux autres livres qui se concentrent sur la syntaxe ou les bases du langage, cet ouvrage plonge immédiatement le lecteur dans le monde du développement web : d'un simple serveur HTTP à une application complète avec bases de données, templates et sécurité. Le livre est écrit dans un langage vivant et accessible et contient de nombreux exemples de code que vous pouvez exécuter et modifier immédiatement.
De quoi parle le livre
Le livre se compose de 12 chapitres, logiquement divisés en trois parties. La première partie présente les bases de Go et du serveur web : configuration de l'environnement, traitement des requêtes, routage. La deuxième partie est consacrée aux composants clés d'une application web : travail avec les templates (html/template), bases de données (avec PostgreSQL comme exemple), sessions, authentification et sécurité. La troisième partie aborde des sujets avancés : tests d'applications web, utilisation de bibliothèques tierces (par exemple, Gorilla Toolkit) et déploiement d'une application prête sur un serveur.
À qui s'adresse ce livre
Le livre est destiné aux développeurs qui ont déjà une connaissance de base de Go (syntaxe, types de données, fonctions) et qui souhaitent apprendre à créer des applications web. Il sera utile aussi bien aux débutants en développement web qu'aux programmeurs expérimentés passant d'autres langages (Python, Ruby, PHP) à Go. Si vous savez déjà écrire des programmes console en Go, mais que vous ne savez pas comment créer une API REST ou un site dynamique, ce livre est fait pour vous.
Ce que le lecteur apprendra
- Les bases du serveur web en Go : création de gestionnaires, travail avec les requêtes et réponses HTTP, routage.
- La templatisation : utilisation du package html/template pour générer des pages HTML, transmission de données aux templates, échappement sécurisé.
- Travail avec les bases de données : connexion à PostgreSQL, exécution de requêtes SQL, utilisation de bibliothèques de type ORM (par exemple, GORM).
- Gestion des sessions et authentification : création de sessions par cookies, hachage de mots de passe, protection contre les attaques CSRF.
- Tests : rédaction de tests unitaires pour les gestionnaires, tests d'intégration avec httptest.
- Déploiement : compilation d'un fichier binaire, exécution sur un serveur, utilisation de Docker pour la conteneurisation.
Points forts
L'un des principaux atouts du livre est son orientation pratique. Chaque chapitre contient non seulement de la théorie, mais aussi des exemples complets qui peuvent être assemblés en une application fonctionnelle. L'auteur guide progressivement le lecteur du simple au complexe, sans le surcharger de détails superflus. Il convient de souligner particulièrement le chapitre sur la sécurité : il examine les vulnérabilités typiques des applications web (injections SQL, XSS, CSRF) et les moyens de les prévenir en Go. Le livre a été écrit en 2016, mais les concepts et packages de base (net/http, html/template, database/sql) restent pertinents aujourd'hui. Pour les débutants, c'est un excellent point de départ, et les développeurs expérimentés y trouveront des modèles et techniques utiles.
À qui est-il recommandé
Le livre est recommandé à tous ceux qui souhaitent maîtriser le développement web en Go : développeurs backend, programmeurs fullstack, étudiants en filières techniques. Il sera également utile à ceux qui écrivent déjà en Go mais souhaitent systématiser leurs connaissances sur les frameworks web et les meilleures pratiques. Si vous cherchez un livre qui ne se contente pas de parler de syntaxe, mais qui apprend à créer de véritables applications web, « Go Web Programming » sera un excellent choix.
Recommendations
Concurrence en Java : des bases aux applications multithreadées
Concurrence en Java : Multithreading, parallélisme et asynchronisme en pratique
Sécurité des applications C++. Protection du code contre les attaques et les vulnérabilités
TypeScript et Kubernetes : Création d'applications cloud
Apprentissage automatique et Java : Guide pratique
Reactive Programming in Kotlin