Construisez plus vite. Gardez la maîtrise de votre stack.
Logiciel métier sans couches inutiles.
Total.js combine un framework Node.js rapide, des composants d’interface prêts pour la production et des applications éprouvées afin que les équipes puissent créer des tableaux de bord, des portails, des produits SaaS et des outils internes avec moins de code de liaison et plus de maîtrise.
Routage, actions, REST, WebSocket, schémas, fichiers, vues, e‑mails et contrôle d’exécution réunis au même endroit.
Champs, grilles de données, formulaires, graphiques, tableaux de bord, modales et interfaces prêtes pour la production.
Un stack que vous pouvez comprendre, étendre et maîtriser
Total.js garde les pièces importantes à proximité : backend, interface, données, communication temps réel et logique métier, sans éparpiller votre produit dans des couches inutiles.
Un backend. Une philosophie d’interface.
Routes, actions, schémas, vues, liaisons et composants s’assemblent naturellement. Moins de code de liaison, moins de décisions, un chemin plus net de l’idée à la production.
Framework pur
total5 / node.jsUne structure claire pour la logique métier, les API, les sockets, les jobs et les processus réels, sans bruit de framework.
// Routes, schémas, base de données, courrier, TMS, fichiers, tâches et sockets
require('total5');
exports.install = function() {
ROUTE('GET /', 'view');
ROUTE('+API ? orders-query --> Orders|query');
ROUTE('+POST /api/orders/ --> Orders|create');
ROUTE('SOCKET /live/ @json <2MB', live);
ROUTE('FILE /invoice/{id}/', invoice);
ON('service', counter => counter % 5 === 0 && ACTION('Orders|sync').callback(NOOP));
};
NEWACTION('Orders|query', {
query: 'page:Number, q:String',
action: function($) {
DATA.find('orders')
.search('email', $.query.q)
.paginate($.query.page || 1, 20)
.sort('dtcreated_desc')
.callback($);
}
});
NEWACTION('Orders|create', {
input: '*email:Email,*total:Number,items:[Object]',
output: 'id:String,email:Email,total:Number,dtcreated:Date',
publish: true,
action: function($, model) {
model.dtcreated = new Date();
DATA.insert('orders', model).callback(function(err, doc) {
if (err)
return $.invalid(err);
MAIL(model.email, 'Commande reçue', 'mail/order', doc, NOOP);
$.success(doc);
});
}
});
NEWACTION('Orders|sync', {
action: function($) {
// Les tâches en arrière-plan utilisent le même pipeline d’actions
$.success();
}
});
function live($) {
$.autodestroy();
SUBSCRIBE('Orders|create', order => $.send(order));
$.on('message', (client, message) => ACTION('Orders|create', message, client).callback(response => client.send(response)));
}
function invoice($) {
FILESTORAGE('orders').read($.params.id, $.callback);
}
Total.run();UI avec jComponents
spa.min@20Créez formulaires, tableaux de bord, tableaux et workflows complets avec des composants pensés pour de vraies interfaces métier.
<!-- Bibliothèque d’interface client avec état encapsulé et composants -->
<script src="https://cdn.componentator.com/spa.min@20.js"></script>
<link rel="stylesheet" href="https://cdn.componentator.com/spa.min@20.css" />
<!-- Interface multilingue prête à l’emploi : @(Orders), @(Save order), @(Customer) -->
<ui-plugin path="orders">
<ui-component name="input" path="?.filter.q" config="placeholder:Rechercher des commandes;autofill:1"></ui-component>
<ui-component name="validate" path="?.form">
<button class="exec" data-exec="?/save">Enregistrer la commande</button>
</ui-component>
<ui-component name="datagrid" path="?.orders" config="margin:0;click:?/detail">
<script type="text/plain">
[
{ name: 'email', text: 'Client', width: 220 },
{ name: 'total', text: 'Total', align: 2, template: "{{ total | format(2) }}" },
{ name: 'dtcreated', text: 'Créé', template: "{{ dtcreated | format('dd.MM.yyyy') }}" }
]
</script>
</ui-component>
<ui-component name="linechart" path="?.sales" config="height:180;type:curves"></ui-component>
<ui-bind path="?.online" config="text:value + ' en ligne'"></ui-bind>
<ui-bind path="?.order" config="template">
<script type="text/html">{{ value.email }} · {{ value.total | format(2) }}</script>
</ui-bind>
</ui-plugin>
<script>
PLUGIN('orders', function(exports) {
exports.reload = function() {
exports.tapi('Orders|query', exports.model.filter, function(response) {
exports.set('?.orders', response);
});
};
exports.save = function() {
SETTER('loading/show');
exports.tapi('Orders|create ERROR @showloading', exports.model.form, function(response) {
SETTER('loading/hide');
PUSH('?.orders', response);
exports.set('?.form', {});
SETTER('message/success', 'Commande enregistrée');
});
};
exports.websocket = function(message) {
PUSH('?.orders', message);
EMIT('orders/live', message);
};
});
</script>Produits réels, base unique
Flow, OpenPlatform, CMS et les autres applications Total.js ne sont pas des démos. Ce sont de vrais produits construits sur le même socle que vous pouvez utiliser pour votre propre plateforme.
Flow
Automatisation, intégrations et processus métier connectés aux API, services et à l’IA.
OpenPlatform
Socle de portail privé avec identité, applications, utilisateurs et accès contrôlé.
CMS
Gestion de contenu qui peut fonctionner seule ou devenir une partie d’une solution métier plus large.
Code
Éditeur de code Web collaboratif pour le développement Total.js, exécuté directement sur votre propre serveur pour des changements plus rapides et un contrôle total.
UI Builder
Conception visuelle d’interfaces pour tableaux de bord, portails, formulaires et écrans métier.
Todomator
Gestion des tâches pour les équipes qui ont besoin de priorités claires, d’exécution et de focus opérationnel quotidien.
Tables
Espace de travail PostgreSQL sans code pour concevoir des tables, relier les données et gérer les enregistrements avec des vues personnalisées.
Plus d’apps
Des outils bâtis avec la même philosophie : pratiques, directs et prêts pour le travail réel.
Lancez plus tôt.
Montez en charge en toute confiance.
Une base plus rapide signifie des cycles de livraison plus courts, des coûts de maintenance réduits et un logiciel métier qui peut continuer à évoluer sans tout reconstruire.
TotalDesktop Suite
Des outils natifs pour macOS et iPadOS conçus autour de vrais flux de travail Total.js : ressources, code, supervision, projets et travail quotidien.

TotalResources
Gérez le contenu multilingue depuis une application native : traduction, aide à l’orthographe, relecture et support IA pour chaque texte produit.

TotalCode
Un espace de travail natif pour Total.js Code avec contrôle local et plusieurs instances depuis une seule application.

TotalMonitor
Surveillez la santé du projet, les métriques, les alertes et les règles en temps réel afin que les problèmes soient visibles avant de devenir urgents.

Plus d’applications
De nouveaux outils natifs viendront étendre le même écosystème pour le développement, la gestion, le monitoring et l’évolution du produit.
Exclusivement pour macOS et iPadOS, bientôt disponible
La première version se concentrera sur l’écosystème Apple. Windows et Linux arriveront plus tard, sans date prévue pour le moment.
Chez Total.js, nous créons des logiciels qui durent.
Applications sur mesure, tableaux de bord, portails, produits SaaS et plateformes privées construits sur une base cohérente plutôt que sur une complexité accidentelle.
Développement sur mesure
Applications, tableaux de bord, portails, outils internes et produits numériques construits avec Total.js.
Architecture et conseil
Décisions techniques, revue des fondations et plan pratique avant la croissance du produit.
Mise en œuvre et évolution
De la première version à l’amélioration continue, avec la même direction technique.
Maintenance et amélioration
Optimisation, refactorisation, nouvelles fonctionnalités et évolution progressive de plateformes existantes.
Nous transformons les besoins métier en logiciels opérationnels
Nous concevons et développons des applications avec un socle technique clair et un chemin concret jusqu’à la production.
Des équipes dans le monde entier construisent déjà avec Total.js.
Voir toutes les références





Parlez-nous de votre besoin. Nous l’étudierons avec attention et vous répondrons rapidement avec une réponse claire.