23KADigital Engineering

Build better.

Nous auditons, construisons, déployons et opérons des systèmes numériques. Du premier commit à la production — puis dans la durée.

Audit · Build · Host · Care

Défiler
01Services4 piliers

Une chaîne technique complète.

Un même interlocuteur pour comprendre le problème, construire la solution, la mettre en ligne et la maintenir.

01 / Audit

Comprendre.

L'existant est lu, mesuré, puis transformé en plan d'action priorisé.

  • Architecture
  • Sécurité
  • Performance
  • Dette technique
  • Flux
  • Roadmap

02 / Build

Construire.

Des outils conçus autour du besoin réel, pas autour d'un framework.

  • Web
  • Applications
  • SaaS
  • API
  • Automatisation
  • Outils métier

03 / Host

Déployer.

Une production documentée, reproductible, que l'on peut réellement comprendre.

  • Linux
  • Docker
  • VPS
  • DNS
  • SSL
  • CI/CD
  • Monitoring
  • Backups

04 / Care

Faire durer.

Le produit continue de vivre après la mise en ligne.

  • Maintenance
  • Sécurité
  • Updates
  • Monitoring
  • Évolution
02Réalisations3 systèmes

Des systèmes, pas des vitrines.

Trois produits construits de bout en bout : interface, logique métier, infrastructure. Chaque capture a été prise sur l'application elle-même, avec ses propres données de démonstration.

  1. 01ArdoiseProduct / SaaS
  2. 02Veille Grand EstData / Web / Monitoring
  3. 03SilexSecurity / Messaging / Infra

01Product / SaaS

Ardoise

Commande à table par QR code, de la carte jusqu'à la cuisine.

Fig. 01.A Écran cuisine (KDS) — commandes reçues, en préparation, prêtes ; appel serveur en tête. Données de démonstration du projet.

Plateforme multi-restaurants. Le client scanne le QR de sa table, compose sa commande et peut régler depuis son téléphone. La commande arrive en temps réel sur l'écran cuisine et sur l'imprimante thermique. Le restaurateur gère sa carte, ses tables, ses QR codes et les commandes prises au téléphone.

QR ordering
Un QR par table, vente à emporter
Kitchen
Écran temps réel, tickets ESC/POS
Payment
Stripe à table, pourboire, paiement partiel
Admin
Carte importée depuis une photo, options, formules, allergènes, tables et QR
Téléphone
Commande saisie par le personnel, sans QR
Plateforme
Multi-restaurants, essai en libre-service

StackNode.js · Express · SQLite · JavaScript natif · SSE · Docker · Nginx

Voir le projet (ardoiseflow.fr, nouvel onglet)
Fig. 01.B Carte client, table 5 — mobile.
Fig. 01.C Prise de commande par téléphone : la commande part en cuisine sans QR.

02Data / Web / Monitoring

Veille
Grand Est

Veille quotidienne des entreprises en difficulté et à céder.

Fig. 02.A Vitrine publique — la ligne du registre y est reproduite en HTML.

Chaque jour, les annonces du BODACC des dix départements du Grand Est sont collectées, enrichies par SIREN via l'API Recherche d'entreprises, puis classées par un score d'opportunité de reprise. Chaque score est détaillé critère par critère, et le nom du mandataire à appeler est extrait de l'annonce.

Collecte
BODACC, open data, cycle quotidien
Enrichissement
SIREN, effectif, chiffre d'affaires
Score
Cinq critères pondérés, détail ligne par ligne
Alertes
Filtres enregistrés, envoi par e-mail
Signal précoce
Interruption du dépôt des comptes
Exploitation
Contrôle de dérive, sauvegardes, export CSV
Backtest
AUC 0,804 sur 5 909 procédures du Grand Est

StackNode.js · node:sqlite · node:http · zéro dépendance obligatoire · PWA · Docker

Application à accès restreint. Vitrine publique.

Voir le projet (veille-grandest.soma23.fr, nouvel onglet)
Fig. 02.B Registre et détail d'un score. Jeu de test du projet ; noms de sociétés, SIREN et mandataires masqués.
Fig. 02.C Vitrine — mobile.

03Security / Messaging / Infra

Silex

Messagerie privée, chiffrée dans le navigateur.

Fig. 03.A Conversation entre deux comptes de démonstration. Le serveur n'a reçu que des chiffrés.

Messagerie web auto-hébergée. Messages, pièces jointes et avatars sont chiffrés dans le navigateur avant envoi, avec X3DH et Double Ratchet sur libsodium et Web Crypto. Le serveur stocke et relaie des chiffrés sans jamais détenir de quoi les lire ; le mot de passe n'est jamais transmis.

Chiffrement
X3DH, Double Ratchet, libsodium
Compte
Argon2id côté client, code de récupération
Appareils
Multi-appareils, liste signée, révocation
Vérification
Numéro de sécurité et QR code
Administration
Comptes, quotas, audit — sans accès au contenu
Infra
Docker Compose durci, Caddy, HTTPS automatique

StackTypeScript · React · Vite · Fastify · WebSocket · PostgreSQL · Caddy · Docker

V1 fonctionnelle : 263 tests automatisés, du chiffrement jusqu'au navigateur. Pas encore d'audit de sécurité externe. Pas de démonstration publique.

Fig. 03.B Le même échange, second appareil — mobile.
Fig. 03.C Numéro de sécurité : à comparer hors de Silex, de vive voix.
03Méthode5 étapes

Discover → Operate.

Cinq étapes, un livrable clair à chaque passage. Chaque étape ne démarre que lorsque la précédente a produit sa sortie.

  1. 01

    Discover

    Comprendre le problème avant de parler de solution.

    • Brief
    • Objectifs
    • Contraintes
    • Utilisateurs

    SortieBrief

  2. 02

    Architect

    Choisir la forme du système et ses garde-fous.

    • UX
    • Data
    • Architecture
    • Security

    SortieDesign

  3. 03

    Build

    Construire par itérations vérifiables.

    • Frontend
    • Backend
    • API
    • Automation

    SortieVersion

  4. 04

    Deploy

    Mettre en production de façon reproductible.

    • Linux
    • Docker
    • CI/CD
    • SSL

    SortieLive

  5. 05

    Operate

    Surveiller, corriger, faire évoluer.

    • Monitoring
    • Maintenance
    • Security
    • Evolution

    SortieContinu

04StackUtilisé, pas affiché

Pragmatique par défaut.

Les technologies suivent le problème, pas l'inverse. Chaque ligne ci-dessous est utilisée dans au moins un des projets présentés.

Technologies utilisées, leur rôle et les projets qui les emploient
TechnologieRôleUtilisé sur
AFrontend
HTML · CSSInterfaces sobres, rapides, accessiblesArdoise · Veille · Silex
JavaScriptNatif, sans étape de buildArdoise · Veille
ReactInterfaces applicatives richesSilex
ViteBuild et développement, TypeScriptSilex
PWAApplications installables, service worker, page hors ligneVeille · Silex
BBackend
Node.jsServeurs d'applicationArdoise · Veille · Silex
APIsREST, SSE, WebSocket — Express, Fastify, node:httpArdoise · Veille · Silex
PostgreSQLBase relationnelle, migrations versionnéesSilex
SQLiteNatif (node:sqlite), sans dépendance binaireArdoise · Veille
CInfra
Linux · DebianServeurs de production, installation scriptéeArdoise · Veille
DockerConteneurs, ComposeArdoise · Veille · Silex
CaddyReverse proxy, HTTPS automatiqueSilex
NginxReverse proxy, en-têtes, cacheArdoise · Veille · Silex
VPSHébergement maîtrisé, sans plateforme intermédiaireArdoise · Veille
DDelivery
GitVersionnement, mise à jour du serveur depuis le dépôtArdoise · Silex
TestsSuites automatisées : API, interface, chiffrement, bout en boutArdoise · Veille · Silex
SSLLet's Encrypt, via Certbot ou CaddyArdoise · Veille · Silex
MonitoringEndpoints de santé, contrôle de dérive des donnéesArdoise · Veille · Silex
BackupSauvegardes datées et rotatives, contrôle d'intégritéArdoise · Veille · Silex
05À proposIndépendant

Pourquoi 23KA ?

23KA existe pour construire des produits numériques qui restent compréhensibles après leur mise en production.

Pas de couche commerciale entre le besoin et la technique. Pas de complexité ajoutée pour faire joli. Nous choisissons l'architecture, écrivons le code, déployons, puis assumons l'exploitation.

Une structure indépendante, sans équipe de façade : un interlocuteur technique, du premier échange jusqu'à la production.

Le résultat attendu n'est pas seulement une interface soignée : c'est un système documenté, observable, maintenable et capable d'évoluer.

Structure
Indépendante
Approche
Directe
Périmètre
Du code à la production
Échelle
Honnête
  • 01Ingénierie
  • 02Développement
  • 03Infrastructure
  • 04Automatisation
  • 05Maintenance
06ContactRéponse par e-mail

Un projet à construire ?

Décrivez le problème.
Nous regarderons ensuite la meilleure manière de le résoudre.

Décrire mon projet
contact@23ka.fr

Un brief court suffit pour commencer : contexte, objectif, contraintes, délai si vous le connaissez.