Nous écrire
Bruxelles, Belgique

Your IT consultants.

Applications mobiles natives et les dorsales qui les portent. Du premier écran jusqu'au serveur qui répond — y compris les surfaces qu'on oublie de tester : téléviseur, voiture, montre. Pour nos propres produits comme en mission chez nos clients.

Natif d'abordSwift et Kotlin, pas seulement du multiplateforme
Six surfacesTéléphone, tablette, téléviseur, voiture, montre, web
Métier en RustCompilé, testé, tenu par un contrat
  • Swift
  • SwiftUI
  • Kotlin
  • Jetpack Compose
  • Rust
  • TypeScript
  • React Native
  • Flutter
  • .NET
  • Angular
  • PostgreSQL
  • Tauri
  • Capacitor
  • Linux
  • App Store
  • Google Play
Savoir-faire

Du premier écran jusqu'à la machine qui le sert.

Une application ne s'arrête pas à son interface. Ce qui la rend fiable se joue aussi dans ce qu'on ne voit pas.

Mobile natif, et les surfaces qu'on oublie

iOS et Android écrits dans leurs langages. Puis ce que peu d'équipes vont chercher : le téléviseur du salon, l'écran de la voiture, la montre. Chacune a ses règles — une télécommande n'est pas un doigt, et une voiture ne montre pas de vidéo.

SwiftUIJetpack ComposeCarPlayAndroid Auto

Protection du contenu, sans faux-semblant

Lecture protégée sur chaque plateforme, et un contrôle qui REFUSE quand il ne peut pas garantir la protection — plutôt que de laisser passer en silence. Les jetons dorment dans le magasin de clés du matériel, pas dans un fichier de préférences.

WidevineFairPlayKeystoreKeychain

Dorsales métier en Rust

Le domaine séparé de ce qui l'entoure : la règle de gestion ne sait rien de la base de données ni du transport, et se teste donc sans les démarrer. Des dizaines de modules qui se parlent par contrat plutôt que par appel direct.

RustPostgreSQLArchitecture hexagonale

Identité et sessions

Connexion par lien à usage unique, appairage d'un téléviseur depuis un téléphone, transfert d'appareil, révocation. Les jetons sont opaques et vérifiés côté serveur : ce qui circule ne dit rien, et ce qui décide n'est jamais le client.

OIDCLien magiqueChiffré au repos

Fonctionner quand le réseau ne suit pas

Beaucoup d'applications supposent une connexion stable. Celles-ci ne le supposent pas : elles dégradent par étapes — lien direct, relais, puis hors ligne — et le disent au lieu de tourner dans le vide. Le même moteur décide sur mobile et sur le web.

Repli par étapesHors ligneWebAssembly

Mise en production et exploitation

Publication sur les magasins, distribution interne, et surtout ce qui vient après : un parc de serveurs mis à jour ENTIÈREMENT ou pas du tout, des migrations qui ajoutent avant de retirer, et des contrôles qui bloquent la livraison quand le contrat n'est plus tenu.

LinuxnginxCI/CDApp StoreGoogle Play
Méthode

Trois principes, appris en production.

01

Un code de retour n'est pas un diagnostic

Une commande qui rend zéro ne dit pas qu'une fonctionnalité marche : elle dit qu'elle a fini. Ce qui compte, c'est de vérifier ce qui répond.

02

Ce qui échoue doit le dire

Un repli silencieux — une valeur par défaut qui remplace une erreur, un écran qui montre autre chose que ce qu'on a demandé — coûte plus cher qu'un refus net, parce que personne ne le signale.

03

Le code se lit plus qu'il ne s'écrit

Ce qui explique un choix vaut autant que le choix lui-même. Six mois plus tard, c'est ce qui permet de corriger sans casser.

Contact

Une mission, une question technique, ou juste savoir si c'est faisable.

samba.diallo@tbl-it.io
L'entreprise

Une société belge, immatriculée et vérifiable.

Ces lignes sont reprises telles quelles de la Banque-Carrefour des Entreprises. Elles se recoupent avec le registre public, numéro par numéro.

Dénomination
TBL-IT
Forme juridique
Société en commandite
Numéro d'entreprise
BE 0759.642.038
Siège social
Avenue François Malherbe 6, unité 1
1070 Anderlecht, Belgique
Registre
Banque-Carrefour des Entreprises (Bruxelles)
Contact
samba.diallo@tbl-it.io