01 // LE PROJET EN BREF
ZIA
C++Un serveur web écrit de zéro, dont toutes les fonctionnalités sont des modules chargés à chaud.
Écrire un serveur web complet, capable de servir des pages en HTTP comme en HTTPS. La particularité : le serveur lui-même ne sait presque rien faire. Toutes ses capacités — servir un fichier, exécuter du PHP, journaliser, chiffrer — sont des modules séparés qu'on active dans un fichier de configuration, et qui se rechargent tout seuls quand on modifie ce fichier, sans jamais redémarrer le serveur.
Serveur HTTP/HTTPS en C++ à architecture en pipeline de modules chargés dynamiquement, configuration JSON rechargée à chaud par surveillance de fichier, douze modules fournis.
PRINCIPALC++
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONGoogleTest
SOURCEINSPECTOR READY
03 // APPORTS CLÉS
- Rechargement à chaud des modules et de la configuration, sans redémarrage
- Douze modules, dont une passerelle PHP CGI et une couche TLS
- API de modules documentée, permettant d'en écrire de nouveaux sans toucher au cœur
AU-DELÀ DU SUJET
- Rechargement à chaud de la configuration et des modules, non exigé, qui permet de modifier le serveur sans l'arrêter
- Image Docker et script de lancement (run.sh)
- Documentation d'API (docs/api.md) et Doxyfile pour la documentation générée
- Client de test en shell (tests/client.sh) avec requêtes types
- Tests GoogleTest
04 // ARBORESCENCE DU CODE
LECTURE DES SOURCES…