C++ et Docker : conteneurisation d'applications
300 pages
French
PDF
4.5

C++ et Docker : conteneurisation d'applications

C++ et Docker : conteneurisation d'applications

Auteur :

Année :

Résumé :

Le livre « C++ et Docker : conteneurisation d'applications » est le premier guide pratique du genre qui comble le fossé entre le développement classique en C++ et les pratiques DevOps modernes. Que vous soyez un développeur C++ souhaitant simplifier la compilation, les tests et le déploiement de vos projets, ou un ingénieur DevOps confronté à la nécessité de conteneuriser du code C++ legacy, ce livre est fait pour vous.



Contrairement aux guides populaires sur Docker pour les applications web (Python, Node.js, Go), le C++ impose des exigences particulières : liaison statique et dynamique, gestion des bibliothèques système, optimisation de la taille de l'image, travail avec CMake et Vcpkg. L'auteur analyse en détail tous ces aspects, en proposant des recettes prêtes à l'emploi et des modèles de Dockerfile.



Ce que vous apprendrez dans ce livre :

  • Les bases de Docker pour C++ : en quoi la conteneurisation des langages compilés diffère de celle des langages interprétés, comment éviter les erreurs typiques (par exemple, les problèmes avec glibc).
  • Les builds multi-stage : comment compiler l'application dans une image, puis envoyer en production un artefact minimal sans compilateur ni fichiers d'en-tête.
  • La gestion des dépendances : intégration de Docker avec Conan, Vcpkg et CMake. Comment mettre en cache les bibliothèques pour ne pas les recompiler à chaque commit.
  • DevContainers et VSCode : configuration d'un environnement de développement dans un conteneur pour que toute l'équipe travaille dans des conditions identiques.
  • Les pipelines CI/CD : automatisation de la compilation, de l'édition de liens, de l'analyse statique et des tests unitaires dans Docker avec GitHub Actions et GitLab CI.
  • L'optimisation de la taille de l'image : comment réduire l'image finale de 2 Go à 50 Mo avec Alpine, Scratch et la compilation statique.
  • Le déploiement en production : exécution de microservices en C++ dans Docker Swarm et Kubernetes, gestion des healthcheck et des arrêts gracieux (graceful shutdown).
  • La sécurité : analyse des vulnérabilités, exécution de conteneurs avec des droits limités, utilisation de systèmes de fichiers en lecture seule.


À qui s'adresse ce livre :

  • Les développeurs C++ qui souhaitent intégrer Docker dans leur flux de travail.
  • Les ingénieurs DevOps qui doivent gérer la compilation et le déploiement d'applications C++.
  • Les étudiants et enseignants qui étudient les méthodologies modernes de développement logiciel.
  • Les responsables techniques qui planifient la migration d'un monolithe C++ vers une architecture de microservices.


Tous les exemples du livre sont basés sur des projets réels et sont accompagnés du code complet, disponible dans un dépôt. Vous apprendrez non seulement à exécuter un « Hello World » dans un conteneur, mais aussi à construire un processus fiable, reproductible et évolutif, du développement à la production.



Le livre convient aux lecteurs ayant une connaissance de base du C++ et une compréhension élémentaire de Docker. Si vous savez écrire des programmes simples en C++ et avez déjà lancé docker run, cela suffit pour commencer.

Recommendations