Comment fonctionne FolioPress : une page, toutes les langues

Vue d'ensemble

La plupart des sites web ne parlent qu'une seule langue. Dès qu'une entreprise a besoin d'une deuxième, les choses se compliquent : une extension de traduction greffée par-dessus, une deuxième copie du site à garder synchronisée, ou une formule plus chère juste pour afficher « Hello » à côté de « Bonjour ».

FolioPress est parti de l'idée inverse : une page n'est pas une page à laquelle on accroche des traductions, elle est toutes ses langues à la fois. Le titre, l'adresse, le menu, les étiquettes, ce que voit Google : tout existe dans chaque langue que vous choisissez, dès la première minute.

Tout a commencé avec l'envie de remplacer un CMS fait maison dans lequel plusieurs langues avaient été greffées après coup. En cherchant des alternatives, j'ai découvert qu'elles échouaient toutes lamentablement à intégrer du contenu multilingue dans un créateur de sites simple à utiliser.

Voici un coup d'œil dans les coulisses : comment l'ensemble s'articule, les compromis qui le sous-tendent et ce qui a cassé en chemin.

Une visite voyage de gauche à droite. La tour de contrôle ne se trouve jamais sur ce chemin. Elle se contente de construire, de déménager et de veiller sur les sites.

Une visite sur un site FolioPress fait trois sauts. Cloudflare l'intercepte près du visiteur et filtre les indésirables. Une porte d'entrée – Traefik, qui gère aussi les certificats HTTPS – regarde l'adresse et trouve le bon site. Le site lui-même répond, soit depuis un immeuble partagé, où de nombreux petits sites vivent côte à côte, soit depuis une maison à lui quand il devient très fréquenté. À l'écart, une tour de contrôle s'occupe de tout ce qu'un visiteur ne voit jamais : inscriptions, facturation, adresses web, mises à jour et bilans de santé, avec un petit gardien sur chaque serveur qui démarre et arrête les sites.

Tout est en Python, en trois couches que j'ai écrites moi-même : un framework web (pystarter, bâti sur FastAPI), le système de gestion de contenu par-dessus (foliopress) et la tour de contrôle (Forestry). Les paiements passent par Polar, qui agit en tant que vendeur officiel (merchant of record) : la TVA européenne, c'est donc leur casse-tête et non le mien.

Besoin d’aide ? Écrivez-nous depuis l’administration de votre site (Assistance) ou à support@foliopress.io.