Tous les articles

OpenBacktest : transformer un graphique en espace de travail

Pourquoi OpenBacktest ne se limite pas à afficher des chandeliers, et comment le replay, les outils visuels et l’API ont façonné son architecture.

Terminal de replay OpenBacktest affichant un graphique de marché

Un graphique de marché est facile à afficher. Un espace de travail capable d’accompagner une analyse, de rejouer une session et de rester cohérent avec une API l’est beaucoup moins.

Le replay comme contrainte fondatrice

Dans OpenBacktest, le temps du marché n’est pas nécessairement le temps réel. L’utilisateur doit pouvoir avancer bougie par bougie, placer des ordres, annoter le graphique puis retrouver exactement le même état plus tard.

Cette contrainte touche toute l’application : la source de données, les calculs, les outils de dessin, les statistiques et la persistance des sessions.

Une bibliothèque de charting dédiée

Les interactions attendues d’un terminal dépassent rapidement celles d’un graphique de tableau de bord. Zoom, panneaux, indicateurs, sélection, magnétisme et outils de dessin doivent rester fluides avec beaucoup de données.

J’ai donc développé ReinCharts, une bibliothèque React et D3 dédiée à ces usages, puis construit le terminal autour de composants plus spécialisés.

La même session depuis l’interface ou le code

L’API et le SDK Python ne sont pas des fonctions ajoutées après l’interface. Ils partagent les mêmes concepts : projets, sessions, transactions et statistiques. Une session créée par un script apparaît dans l’application et peut être relue visuellement.

Cette symétrie force des contrats plus clairs et évite que l’interface devienne le seul endroit où une opération peut être réalisée.

Une bêta auto-hébergée

La bêta fonctionne sur une infrastructure Dokploy : applications conteneurisées, base SQLite/libSQL persistante, stockage compatible S3, déploiement continu et supervision. Cette étape a déplacé une partie du travail vers l’exploitation réelle : sauvegardes, migrations, secrets, domaines et observabilité.

Le produit continue d’évoluer, mais son objectif reste stable : faire du graphique un espace de travail reproductible, pas une simple image du marché.