Développement Web en C++ : des bases au déploiement
Développement Web en C++ : des bases au déploiement
Résumé :
Contrairement aux stéréotypes, le C++ n'est pas seulement réservé à la programmation système et aux moteurs de jeux. La norme moderne C++17/20, les bibliothèques puissantes (Boost.Asio, Crow, Drogon, Pistache) et les outils de construction matures (CMake, Conan) font du C++ un excellent choix pour les services web à forte charge, les passerelles API et les microservices. Ce livre est le premier guide pratique complet en français qui vous accompagnera de la configuration de l'environnement au déploiement en production d'une application web en C++.
De quoi parle ce livre
- Fondamentaux de HTTP et de la programmation réseau — architecture client-serveur, protocoles, sockets, entrées-sorties asynchrones avec Boost.Asio.
- Frameworks et bibliothèques — aperçu et comparaison de Crow, Drogon, Pistache, oatpp ; choix selon votre besoin.
- REST API et JSON — conception des endpoints, sérialisation/désérialisation via nlohmann/json et Boost.JSON.
- Bases de données — travail avec PostgreSQL via libpqxx, SQLite via sqlite_orm, pools de connexions.
- WebSockets et temps réel — chats, notifications, streaming de données.
- Sécurité — protection contre les injections SQL, XSS, CORS, authentification JWT en C++.
- Tests — tests unitaires (Google Test), tests d'intégration, tests de charge avec wrk.
- Construction et CI/CD — CMake + Conan, conteneurisation Docker, déploiement sur VPS, Kubernetes.
À qui s'adresse ce livre
Ce livre est destiné aux développeurs C++ ayant au moins 1 an d'expérience qui souhaitent élargir leurs compétences dans le domaine web. Vous connaissez déjà la syntaxe, les templates, la STL et CMake — ici vous apprendrez à les utiliser pour créer des services web de qualité production. Ce livre sera également utile aux développeurs backend d'autres langages (Java, Go, Python) souhaitant maîtriser le C++ pour les composants à forte charge.
Ce que vous apprendrez et saurez faire après la lecture
- Concevoir et implémenter une API RESTful from scratch en C++.
- Configurer un serveur web asynchrone traitant des milliers de requêtes par seconde.
- Intégrer PostgreSQL et Redis dans votre application.
- Implémenter l'authentification via JWT et OAuth2.
- Écrire des tests et configurer une construction automatique dans GitHub Actions.
- Empaqueter l'application dans une image Docker et la déployer sur un serveur distant.
Chaque chapitre contient des exemples de code pratiques, prêts à être compilés et exécutés. Tous les projets sont disponibles dans un dépôt GitHub. À la fin du livre, vous créerez un microservice complet de gestion de tâches (Task Manager API) avec prise en charge des WebSockets, mise en cache et autorisation.
N'ayez pas peur des difficultés — l'auteur dévoile progressivement toutes les subtilités, du choix de la bibliothèque HTTP à l'optimisation des performances et à la surveillance. Ce livre sera votre guide fiable dans le monde du développement web en C++.