Vermell : le framework web C++ qui tient en un header
Pourquoi ça compte pour toi
Si tu construis une API ou un service backend où chaque microseconde compte (IoT, edge computing, Raspberry Pi, conteneurs légers), Vermell te donne la performance C++ avec zéro friction. Pas de dépendances à gérer, pas de ramasse-miettes qui ralentit, pas de DSL propriétaire — juste du C++ pur qui s'exécute directement. C'est rare et utile.
Ce qu'il faut retenir
- 1.Un header à inclure, une bibliothèque statique à lier — aucune dépendance externe
- 2.Événementiel avec epoll : non-bloquant, multi-threadé, stable sous charge
- 3.Compile sur Linux avec g++ C++20, fonctionne sur x86_64, ARM, Raspberry Pi, WSL, Termux
- 4.JSON natif, routage typé, templates C++ pour composer des réponses
- 5.Sécurité intégrée : délais d'expiration, limites de requêtes, protection contre les clients lents
Tu galères avec le jargon ?
Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.
Pourquoi c'est différent
Vermell refuse la philosophie moderne du « framework grosse boîte ». Pas de Node, pas de Python, pas de Go — juste C++20 natif. Une ligne compile tout :
g++ -std=c++20 server.cpp -o exe -lvermell
C'est littéralement plus court que d'installer npm.
L'architecture sous le capot
L'idée clé : une boucle epoll (non-bloquante) lit les requêtes entrantes et les distribue à un groupe de threads de traitement. Ça résout deux problèmes en un coup :
- ▸Les clients lents ne bloquent personne : epoll gère les lectures partielles sans immobiliser des threads
- ▸La charge se distribue : les threads du groupe traitent en parallèle
Résultat : pas besoin de quantités de threads de traitement comme en Node/Python (async/await sur pile unique), mais pas non plus le risque du modèle 1 thread/requête.
Ce que tu peux faire maintenant
Un gestionnaire, c'est une lambda C++ avec capture :
Router router;
router.setPort(8080);
string api_version = "1.0";
// Aucune dépendance externe
router.get("/api/status", {
[=](Query &http) {
http.json(R"({"version":"1.0","ok":true})");
}
});
// Route paramétrée
router.put("/users/:id", {
[](Query &http) {
http.send("user updated");
}
});
router.listen();
Pas de middleware magique, pas d'annotations décorées — tu lis le code et tu sais ce qu'il fait.
L'écosystème autour
- ▸Documentation : manuel complet en anglais et espagnol sur vermell.cc
- ▸Portabilité : Debian/Ubuntu, APT, Docker, création de projet via npx
- ▸Sans root : fonctionne sur Termux, WSL, n'importe quel Linux contraint
- ▸JSON DOM : analyseur RFC 8259 strict, sans dépendance externe
- ▸Sécurité par défaut : plafonds de requêtes, limites de connexions, délais d'expiration activés d'emblée
Pour qui ?
- ▸Développeurs C++ qui veulent un serveur sans boîte noire
- ▸Projets embarqués ou en périphérie de réseau (Raspberry Pi, cartes IoT)
- ▸APIs hautes performances où chaque octet compte
- ▸Équipes déjà en C++ qui refusent le changement de contexte vers une autre langue
Ce n'est pas fait pour les startups qui prototypent vite en Python, ni pour les équipes qui veulent un ORM et mille plugins. C'est fait pour les gens qui savent pourquoi ils choisissent C++.
Et concrètement pour toi ?
Choisis ton profil — la lecture de l'article change selon qui tu es.
Pour toi, Vermell incarne une tendance : revenir à du code simple et compilé plutôt que d'empiler des couches d'abstraction. C'est le contraire du hype habituel, et c'est précisément pour ça que ça marche sur des vieux appareils ou des environnements contraints.
Essayer maintenant
Cloner et compiler Vermell →Source
📊 Cours en bourse
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :