Cas 09 · Plateforme Veltrix
Le contenu, modélisé.
Publié partout.
Le moteur de contenu au cœur de Veltrix : tous les types de contenu dont un site a besoin, un vrai flux éditorial, cinq langues et de nombreux sites dans une seule installation — avec chaque entrée accessible par une API versionnée.
- 01 // Rôle
- Architecture · Produit · Ingénierie
- 02 // Plateforme
- CMS autohébergé — éditions Node et PHP
- 03 // Année
- 2026
- 04 // Statut
- Version privée · 2.x
A Le mandat
Chaque client avait besoin de quelque chose d’un peu différent — événements, produits, études de cas — et la réponse habituelle était une extension de plus pour chacun, avec ses propres champs, ses propres écrans et sa propre idée d’un brouillon. Le contenu finissait éparpillé entre des outils qui ne s’entendaient pas.
A.2 Ce qu’il devait faire
- 01Tout type de contenu, défini une fois, avec de vrais champs et une validation
- 02Un seul flux éditorial : révision, planification, versions
- 03Multilingue et multisite dans le noyau, pas en module
- 04Chaque entrée accessible aux autres systèmes par une API
B · Moteur de contenu
Modéliser. Rédiger. Diffuser.
Choisissez un type de contenu : son modèle devient le formulaire, l’entrée passe par la révision et la planification, et le même contenu sort de l’API — avec un webhook signé à la mise en ligne.
Modèle /journal/:slug
- title
text - excerpt
textarea - cover
image - topics
relation - body
richtext
17 types de champs · révisions · planification · SEO
- 01Brouillon
- 02En révision
- 03Planifié
- 04Publié
REST API v1
Webhook · signé · livré
C · Fonctionnalités
Ce qu’il fait.
- 01Types de contenu
- Les pages et les articles ne sont que des types. Ajoutez-en d’autres avec douze options — archives, révisions, planification, référencement, constructeur, API.
- 0217 types de champs
- Du texte au texte enrichi, dates, couleurs, galeries, relations et JSON — avec validation obligatoire, par plage, par motif et par options.
- 03Flux éditorial
- Brouillon, en attente de révision, planifié, publié et archivé. Modifier une entrée en ligne ne la change pas tant qu’elle n’est pas republiée.
- 04Des révisions qui gardent l’historique
- Comparez deux versions champ par champ et restaurez-en une — comme nouvelle révision, pour que rien ne soit effacé. Enregistrement automatique toutes les vingt secondes.
- 05Des rôles par capacité
- Sept rôles intégrés plus des rôles personnalisés; chaque type de contenu a ses propres capacités, certaines limitées aux entrées de l’auteur.
- 06Des médias qui se servent eux-mêmes
- Sept tailles en AVIF et WebP avec repli JPEG, doublons détectés au téléversement, et texte de remplacement dans chaque langue.
- 07Langues et sites
- Traductions liées avec leurs propres slugs, hreflang et droite à gauche; de nombreux sites dans une seule installation, chacun avec son contenu et son thème.
- 08API, webhooks, CLI
- Une API REST versionnée avec un document OpenAPI, des webhooks signés avec nouvelles tentatives, et la ligne de commande vx.
D · Ingénierie
Comment c’est bâti.
- 01
Une planification qui survit aux redémarrages
La publication planifiée est une tâche vérifiée chaque minute par un processus en arrière-plan — pas une minuterie dans le navigateur de quelqu’un — si bien qu’un redémarrage ne saute jamais un lancement.
- 02
Des aperçus qui expirent
Les liens d’aperçu sont signés et de courte durée, et s’affichent exactement comme le thème le fera — aucun gabarit d’aperçu distinct qui dérive.
- 03
Un importateur avec annulation
L’importateur WordPress affiche d’abord un aperçu, annule tout s’il échoue à mi-chemin et ignore tout ce dont l’adresse existe déjà.
- 04
Des webhooks fiables
Chaque envoi est signé, relancé avec un délai croissant et appuyé par la rotation des secrets, pour que les systèmes destinataires puissent en vérifier la provenance.
Pile technologique
Système de marque
- Cyan
#09F2FC - Bleu
#0071FB - Indigo
#1F3FFB - Violet
#B448FC
E · Impact
En chiffres.
- 17
- Types de champs
- 225
- Routes de l’API REST
- 14
- Événements de webhook signés
- 7
- Rôles intégrés, plus personnalisés

