# Serveur REST C++20 de traitement d'image pour une application Unity sur casque

> Audit d'une boîte à outils C++/OpenCV non documentée, puis serveur REST C++20 livré en sources, Makefile et README, déployé par le client avec Docker.

- Client: heartside.fr
- Période: Mars à juin 2025
- Stack: C++20, OpenCV, cpp-httplib, nlohmann/json, Make, Docker
- Résultat: Serveur en production, intégré au projet XR, déployé par le client lui-même

## Le point de départ

heartside.fr développe une galerie d'art virtuelle pour casque. Une boîte à outils C++/OpenCV de 2 000 lignes transformait une photo en relief 3D imprimable, mais elle n'était pas documentée, et l'ESN en charge du projet était une équipe web sans compétence C++. Personne ne pouvait relier la boîte à outils à l'application Unity.

## L'audit

Rapport d'audit sur la boîte à outils : lacunes de documentation, qualité du code, et estimation du serveur à construire.

## La livraison

Un serveur REST en C++20 (cpp-httplib, nlohmann/json), construit de zéro. Il reçoit une photo et des instructions de traitement (contraste, luminosité, postérisation, colorisation, profondeur vers 3D) et renvoie l'image traitée à l'application Unity.

- C++ orthodoxe, économe en mémoire et à faible latence.
- Contrôles stricts de compilation, dont `-fstack-protector-all` et `-Werror`.
- Livré sous forme d'un unique fichier source, d'un Makefile et d'un README.

## Aujourd'hui

Le client a déployé le serveur lui-même avec Docker Compose, Traefik et Let's Encrypt. Il est en production, intégré au projet XR.
