FFS – Serveur de Fonctionnalités Fondamentales

Lorsque j’ai commencé à construire ma propre plateforme freelance, j’ai rapidement réalisé que l’approche standard — assembler un CMS, quelques plugins, un framework JavaScript et un service d’hébergement — ne correspondait tout simplement pas à ma façon de travailler. J’avais besoin de quelque chose que je puisse maîtriser entièrement, étendre sans contrainte et exécuter selon mes propres règles.
J’ai donc créé FFS – Foundational Feature Server.
Qu’est-ce que FFS
FFS est une plateforme web moderne en C++ conçue dès le départ pour la pérennité, la clarté et le contrôle. Ce n’est pas un système de gestion de contenu au sens traditionnel. Il s’apparente davantage à un runtime applicatif composable : un serveur capable de charger, gérer et orchestrer des composants indépendants — chacun sous forme de bibliothèque partagée autonome — sans qu’ils aient connaissance les uns des autres.
Au cœur de FFS se trouve Wt 4.x, un framework web C++ mature qui compile l’interface côté serveur directement en HTML efficace. Il n’y a pas de framework JavaScript à figer en version, pas d’arborescence de dépendances npm à maintenir, ni de synchronisation d’état côté client à déboguer. Le serveur est la source de vérité.
L’architecture en termes simples
Chaque page dans un site FFS est un composant — une bibliothèque partagée .so chargée à l’exécution. Lorsqu’un visiteur accède à /services, FFS charge services.ffs, génère la page et renvoie le HTML. Lorsqu’une nouvelle version du composant est déployée, il suffit de remplacer un fichier. Le reste du site continue de fonctionner.
Les composants ne partagent rien, à l’exception d’un SDK minimal :
JsonDataObject— configuration JSON avec rechargement à chaud via surveillance de fichiers (inotify)Replacer— moteur de substitution pour la personnalisation du contenuMdRenderer— moteur Markdown avec gestion des images flottantes, légendes et contrôle des retours à la ligne (\n/\u200b)HtmlUtils— utilitaires HTML sécurisés pour du contenu riche
La configuration est stockée dans de simples fichiers JSON. Modifiez une valeur, enregistrez — la page se met à jour dans le navigateur en quelques secondes, sans redémarrage.
Multilingue dès la conception
FFS a été conçu avec l’internationalisation comme principe fondamental, et non comme un ajout tardif. Chaque élément de contenu peut disposer d’une surcharge locale :
content/services.json ← base (anglais)
content/services_de.json ← surcharge allemande
content/services_tr.json ← surcharge turque
Les surcharges locales utilisent une fusion profonde au niveau des champs, basée sur id ou name. Vous ne définissez que ce qui change. Les données structurelles — icônes, URL, indicateurs de visibilité — restent dans le fichier de base et sont automatiquement héritées.
Thèmes
FFS propose trois thèmes — Default (bleu nuit), Ocean (bleu froid) et Forest (vert sombre) — chacun avec un ensemble complet de feuilles de style pour les composants. Le changement de thème se fait via une simple modification JSON ; le navigateur ne reçoit que le delta CSS, sans rechargement de page.
Évolution de FFS
FFS a commencé comme l’infrastructure de mon site freelance. Il évolue vers une plateforme plus large : un socle pour construire des présences web d’entreprise intégrant plusieurs applications — blog, catalogue de services, vitrine de réalisations, système de contact avec vérification OTP — au sein d’un runtime cohérent.
L’objectif n’est pas de concurrencer WordPress ou Webflow. L’objectif est d’offrir aux organisations qui privilégient la performance, la stabilité et la maîtrise à long terme une alternative qui ne les oblige pas à faire confiance à une chaîne de dépendances qu’elles ne peuvent ni inspecter ni contrôler.
Si cela correspond aux besoins de votre organisation, je serais ravi d’en discuter.
FFS est développé en C++23 avec Wt 4.13, fonctionne sous Linux et peut être déployé sous forme de conteneur unique ou de binaire bare-metal.
