Ouais, j'ai un systeme qui est comme ca.
Basiquement, le serveur PHP sert a servir l'html et le CSS. Mais le serveur C++ est celui qui sert de base de donnee et de backend de calcul.
L'interface entre les deux se fait par un protocole de type http ou le serveur C++ prends une requete et renvoie du JSON au serveur PHP qui l'utilise pour faire la mise en page. En l'occurence le protocole de communication entre le serveur PHP et C++ n'est pas exactement de l'HTTP. Ca a ete ecrit il y a longtemps donc on a suivi un protocole maison. Mais si je le faisait aujourd'hui je ferais de l'HTTP avec une sourcouche a boost. Il y a de l'equilibrage de charge qui se fait, un serveur PHP mais potentiellement plusieurs serveur C++ en backend.
En terme de securite, le serveur C++ n'est pas expose sur le web. Et le parseur de requete est tres stricte. Les donnees sont publiques donc il n'y a pas de donnee confidentielle qui peuvent leake. Les questions de securite sont plus que je ne veux pas que quelqu'un obtienne un acces root aux machines qui font tourne le serveur C++ et s'en servent pour propager des attaques ailleurs.
En terme de performance, dans mon application, utilise C++ est quasiment obligatoire. le serveur C++ charge un graphe assez gros en memoire et chaque requete est essentiellement un algo qui va tourner sur le graphe. Je ne peux pas charger le graphe en memoire dans mon serveur PHP a chaque requete et meme si je pouvais faire de l'algo de graphe en PHP est probablement une mauvaise idee pour les performances.
Faire le calcul en C++ nous permet de faire du placement memoire intelligent, de paralleliser le code avec OpenMP, d'optimiser les access aux caches. Entre la version de base en C++ et la version optimise, on a gagner un facteur 2-3 de calcul (avant la parallelisation). Ce qui fait que maintenant l'algo principale qu'on fait tourner ne prends que 5 secondes (sequentiellement).