Aller au contenu
Solisoft

Écrit comme Rails. Sert 8,9 fois plus de pages.

Soli est un framework web complet, exécuté par un runtime écrit en Rust. Nous l’avons conçu, nous le mesurons, et nous aidons les équipes techniques à en tirer parti : audit, migration depuis Rails, développement sur mesure.

Requêtes par seconde

Lecture de 50 lignes en base puis rendu d’une page HTML, cache de requêtes désactivé. 16 threads par stack.

  1. Soli Rust 222 054
  2. Kemal Crystal 192 564
  3. Phoenix Elixir 72 263
  4. Express Node.js 70 143
  5. AdonisJS Node.js 42 707
  6. Rails Ruby 25 024
  7. FastAPI Python 19 497
  8. Django Python 10 896
  9. Laravel PHP 6 174
AMD Ryzen 9 9950X, oha à concurrence 200, mesures des 28 et 29 septembre 2026. Soli 2.6.6 avec SoliDB 2.0.5 ; Rails 8.1.4, Puma 8.0.2, Ruby 4.0.7, PostgreSQL 18.6.

Ce que nous faisons pour votre équipe

Vous travaillez directement avec ceux qui écrivent Soli, SoliDB et Soli Proxy. Chaque mission commence par une mesure et se termine par une mesure.

Audit de performance

Votre application ralentit sous la charge, ou sa facture d’infrastructure grimpe.

Ce que vous obtenez

  • Une mesure reproductible de vos routes critiques : débit, latence p99, CPU par requête, mémoire
  • Les goulets d’étranglement, classés par gain attendu
  • Une estimation chiffrée : corriger sur place ou passer à Soli
Demander un audit

Migration depuis Rails

Votre équipe aime Rails, pas ce qu’il coûte à faire tourner.

Ce que vous obtenez

  • Les mêmes conventions : contrôleurs, modèles, vues, migrations et routes se lisent dès le premier jour
  • Un plan progressif, un domaine fonctionnel après l’autre
  • Une mesure avant et après, sur vos propres routes
Étudier une migration

Développement sur mesure

Vous devez livrer une application ou un service où la performance compte.

Ce que vous obtenez

  • Conçu et livré sur notre plateforme : Soli, SoliDB, Soli Proxy, et Rust quand il le faut
  • Débit, latence et mémoire suivis à chaque livraison
  • Un code testé et documenté, remis à votre équipe
Présenter un projet

Soli face à Rails, paramètre par paramètre

Même machine, même budget de 16 threads, même réponse à l’octet près. Chaque session de mesure est encadrée par une mesure témoin qui l’invalide au-delà de 8 % de dérive.

Soli 2.6.6 et Rails 8.1.4 + Puma, mesurés les 28 et 29 septembre 2026
Paramètre Soli Rails Avantage Soli
Réponse JSON 50 objets, 2 268 octets 561 290 req/s 43 369 req/s ×12,9
Lecture et rendu HTML 50 lignes, cache désactivé 222 054 req/s 25 024 req/s ×8,9
Lecture en base 50 lignes, cache désactivé 222 993 req/s 30 841 req/s ×7,2
Création une insertion par requête 258 295 req/s 31 778 req/s ×8,1
Mise à jour une ligne par clé primaire 223 931 req/s 37 502 req/s ×6,0
Latence p99 lecture et rendu HTML 1,30 ms 15,92 ms ×12,2
CPU par requête lecture et rendu, base comprise pour Soli 69 µs 616 µs ×8,9
Mémoire en charge PSS, tous processus 142 Mo 1 157 Mo ×8,1

Combien votre application gagnerait-elle ?

Nous la mesurons avec le protocole de ces benchmarks, sur vos routes et votre charge.

Demander un audit

Tout ce qu’une application demande, dans un seul binaire

Soli n’est pas plus rapide parce qu’il en fait moins. Sessions, protection CSRF et en-têtes de sécurité sont sur le chemin de chaque requête mesurée. Ce qui demande une gem sous Rails est livré, documenté et testé avec le framework.

# app/controllers/posts_controller.sl
class PostsController < Controller
  # GET /posts
  def index
    @posts = Post.where({"published": true}).all
  end

  # POST /posts
  def create
    @post = Post.create(permit(params, {"title": true}))
    if @post._errors
      render("posts/new", {}, {"status": 422})
    else
      redirect("/posts/" + @post._key)
    end
  end
end
Un contrôleur Soli. Les variables d’instance vont à la vue, le rendu est implicite.

Installation, Linux et macOS

curl -sSL https://raw.githubusercontent.com/solisoft/soli_lang/main/install.sh | sh
Données
  • ORM avec validations, relations, callbacks et migrations
  • SoliDB, PostgreSQL, MySQL et SQLite
  • Index vectoriels, plein texte et géographiques déclarés dans le modèle
Web et temps réel
  • Live View et WebSockets servis par les mêmes workers
  • Spécification OpenAPI générée depuis les contrôleurs
  • Internationalisation avec pluriels CLDR
Sécurité
  • Authentification, TOTP et autorisations
  • Client OAuth et fournisseur OpenID Connect
  • Protection CSRF, limites anti-abus WebSocket
Production
  • Jobs en arrière-plan et tâches planifiées
  • E-mails et génération de PDF
  • Releases immuables, retour arrière par un lien symbolique
Qualité
  • Tests unitaires, de bout en bout et navigateur
  • Linter et formateur intégrés
  • Projets prêts pour les agents de code IA

Des applications en production, pas des démonstrations

Quelques projets livrés sur Soli et SoliDB. Les clients ne sont pas nommés ; les chiffres sont comptés dans le code.

Gestion de copropriété

Une plateforme pour syndics, conseils syndicaux, copropriétaires et prestataires

Assemblées générales avec ordre du jour, pouvoirs et votes ; appels de fonds et échéanciers ; dossiers de travaux avec comparateur de devis ; portails dédiés aux copropriétaires et aux prestataires.

  • 293 routes, 62 modèles
  • 205 fichiers de specs
  • 4 environnements, déploiement blue/green

Promotion immobilière

Le CRM, le site des programmes et le back-office commercial d’un promoteur

Recherche de lots sur carte, campagnes e-mail et SMS, planning des commerciaux, programme de prescription. Synchronisé avec l’ERP du client ; les prospects de l’ancien outil ont été repris.

  • 220 routes, 56 contrôleurs
  • 195 fichiers de specs
  • Reprise de données depuis l’outil précédent

Nutrition et bien-être

Un tableau de bord qui répond aux questions posées en français

Un modèle de langage écrit les requêtes SDBQL, exécutées derrière un garde-fou ; la page compose textes, tableaux et graphiques à partir des résultats.

  • 6,6 millions de documents
  • 4 bases ArangoDB et 1 MongoDB consolidées dans SoliDB
  • 5 sources de données

Une plateforme, de la périphérie au stockage

Soli fonctionne avec n’importe quelle base PostgreSQL ou MySQL. Mais chaque couche de la pile a son équivalent Solisoft, écrit en Rust, conçu pour les autres et mesuré avec elles.

Client

EUI

Licence MIT

Site du produit

Interfaces natives, sans navigateur

Le serveur envoie un arbre d’interface déjà résolu, en correctifs binaires ; un client natif en Rust le met en page et le dessine sur le GPU. Ni HTML, ni CSS, ni JavaScript.

Mise à jour d’une cellule 22 octets transmis sur le réseau
Tableau de 50 lignes 4 619 octets 14 362 en HTML non compressé ; compressé, le HTML est plus petit (910 contre 1 491)

Périphérie

Soli Proxy

Licence MIT

Site du produit

Reverse proxy et répartition de charge

Découverte automatique des applications, HTTPS par Let’s Encrypt, contrôles de santé avec redémarrage, disjoncteur, rechargement de la configuration à chaud.

Décision de routage 54 ns micro-benchmark Criterion
Débit de bout en bout 228 196 req/s p99 1,20 ms, 50 000 requêtes à concurrence 200

Application

Soli

Licence MIT

Site du produit

Framework web full-stack

Langage, framework MVC et serveur HTTP dans un seul binaire. Le site que vous lisez tourne dessus.

Lecture et rendu HTML 222 054 req/s 50 lignes, cache désactivé, 8,9 fois Rails
Mémoire en charge 142 Mo un processus, 16 threads

Données

SoliDB

Licence O'Saasy

Site du produit

Base de données documentaire distribuée

Transactions ACID, y compris entre shards par validation en deux phases. Séries temporelles, recherche vectorielle et plein texte, scripts Lua côté serveur, cache des résultats de requêtes.

Création, via Soli 258 295 req/s une insertion par requête, 8,1 fois Rails sur PostgreSQL
Lecture, via Soli 222 993 req/s 50 lignes, cache de requêtes désactivé

Cache

SoliKV

Licence MIT

Site du produit

Stockage clé-valeur compatible Redis

Le protocole de Redis : les clients existants se connectent sans modification. Une API REST en plus.

SET en pipeline 1,60 M ops/s 1,02 M pour Redis 7.0.15, persistance AOF chaque seconde, 16 juillet 2026
Latence p99 0,447 ms à égalité avec Redis sur les commandes standard

Infrastructure

Soli One

Licence MIT

Site du produit

Un rack de serveurs, un seul ordinateur

Soli One réunit des machines Rocky Linux en une seule grappe. On déclare ce qui doit tourner, plus sur quel serveur.

Consensus Raft bibliothèque openraft
Système Rocky Linux 10 machines physiques ou virtuelles

PDFx : une facture Factur-X, un appel HTTP

Notre service de génération de documents, construit sur Soli et son moteur PDF. Un modèle JSON et des données en entrée, un PDF en sortie. Pour une facture, PDFx calcule les totaux, génère le XML EN 16931 et l’embarque dans un PDF/A-3 conforme.

Depuis le 1ᵉʳ septembre 2026, toute entreprise française doit pouvoir recevoir des factures électroniques.

Quatre points d’entrée, un moteur

  • POST /api/v1/pdf PDF à partir d’un modèle JSON : devis, reçus, relevés, courriers
  • POST /api/v1/facturx Facture Factur-X, totaux et TVA calculés
  • POST /api/v1/markdown Markdown mis en page en PDF
  • POST /api/v1/facturx/parse Lecture d’une facture reçue, PDF ou XML, CII ou UBL, en JSON
Caractéristique PDFx
Temps de rendu Quelques millisecondes par facture, XML compris
Moteur Natif, en Rust : aucun navigateur sans tête
Conformité EN 16931, profils Factur-X minimum à extended, PDF/A-3
Données Aucun document conservé après la réponse
Tarif 200 documents par mois gratuits, puis dès 29 € par mois

Mesuré, puis publié

Un chiffre de performance sans ses conditions ne vaut rien. Nous publions les nôtres avec la machine, les versions, le protocole et les erreurs commises en route.

Chaque chiffre a son protocole

Cœurs épinglés par processus, générateur de charge isolé, codes HTTP et octets de réponse vérifiés, table recomptée avant et après chaque écriture. Le harnais est livré avec le code.

Les défaites restent imprimées

Quand une autre stack fait mieux, le chiffre est publié tel quel. Les mesures fausses repérées en route, un tableau mémoire pris sur un serveur non redémarré, une table vidée par son propre benchmark, sont racontées dans le rapport plutôt qu’effacées.

Rust, un binaire par produit

Chaque produit est un exécutable Rust, et la sûreté mémoire est vérifiée par le compilateur. Soli s’installe sans Node.js, npm, OpenSSL ni base de données préalable.

Suites de tests automatisées Tests passés par projet, mesurés le 12 septembre 2026
Projet Tests
Soli 3 453
SoliDB 2 666
SoliKV 446
Soli Proxy 295

Parlez de votre application à un ingénieur

Décrivez ce que fait votre application et ce qui la freine. Un ingénieur de l’équipe qui écrit Soli vous répond personnellement.

Ensuite

  1. 1 Nous lisons votre demande et revenons vers vous pour un premier échange.
  2. 2 Nous mesurons ce qui peut l’être avant de proposer quoi que ce soit.
  3. 3 Vous recevez une proposition chiffrée, avec ses hypothèses.

Vous préférez l’e-mail ? contact@solisoft.net

Ces informations servent uniquement à vous répondre. Elles ne sont ni partagées ni revendues.