ByteHeavy
ByteHeavy
Nos réalisations
Nous en sommes encore aux débuts de la publication de portfolios clients, donc ce sont des exemples du type d'ingénierie que nous pratiquons — pas des références à des projets clients précis.

TypeScript, Postgres, Redis
Construit pour une communauté Discord de taille moyenne ayant besoin d'un système de monnaie interne sans les exploits ni les conditions de concurrence qui gangrènent la plupart des bots d'économie « rapides ». Chaque changement de solde est enveloppé dans une transaction de base de données sérialisable, si bien que deux échanges simultanés ne peuvent pas dépenser deux fois les mêmes pièces — une catégorie de bug qui a discrètement ruiné plus d'économies Discord qu'aucun attaquant externe. Les actions admin sensibles (modification de solde, octroi d'objets, bannissements) sont enregistrées dans une piste d'audit immuable, afin que les litiges disposent d'une trace écrite plutôt que d'un « il a dit / elle a dit ». L'ensemble du système a été testé en charge pour tenir sous une charge de pointe simultanée — des milliers d'interactions en quelques minutes lors d'un événement communautaire — sans jamais atteindre les limites de taux de l'API de Discord elle-même, car la file de requêtes est régulée et regroupée de notre côté avant même d'atteindre les serveurs de Discord.
Java, Paper API — portable pattern
Une couche de détection comportementale conçue à l'origine pour un serveur Minecraft (Paper API), destinée à repérer les schémas de déplacement, de visée et de combat statistiquement anormaux sans exiger que les joueurs installent un mod côté client — l'ensemble du moteur tourne côté serveur, il n'y a donc rien qu'un développeur de triche puisse rétro-ingénierer ou contourner côté client. La contrainte forte était la performance : la logique de détection s'exécute dans la boucle de tick du serveur elle-même, chaque vérification a donc été profilée et optimisée à la microseconde près pour éviter d'ajouter le moindre lag perceptible pour les milliers de joueurs légitimes autour de celui surveillé. Le modèle sous-jacent — une détection d'anomalies statistiques tournant dans une boucle temps réel serrée — n'est pas propre à Minecraft ; la même architecture s'applique à la détection de fraude dans n'importe quel système en direct où « quelque chose cloche » doit être détecté en millisecondes, pas relu le lendemain dans un fichier de log.
Go, PostgreSQL RLS
Un backend servant plusieurs organisations clientes distinctes depuis un déploiement partagé unique, avec la sécurité au niveau des lignes (Row-Level Security) de PostgreSQL appliquant l'isolation des données au niveau de la base de données elle-même — pas seulement dans du code applicatif qu'un futur bug pourrait contourner. Même un serveur applicatif entièrement compromis ou mal configuré ne peut pas faire fuiter les données d'un tenant vers un autre, car la base de données refuse elle-même la requête avant même qu'elle ne s'exécute, quoi que le code applicatif ait demandé. Construit en Go spécifiquement parce que ses goroutines légères permettent à un seul déploiement de maintenir confortablement ouvertes des milliers de connexions concurrentes par tenant sans la surcharge mémoire qu'un modèle thread-par-requête porterait à la même échelle.
Go, Redis
Un service de passerelle placé devant un ensemble d'API backend, conçu pour absorber un trafic irrégulier et à fort volume sans jamais laisser un pic faire tomber les services situés derrière. La limitation de débit distribuée et la mise en cache des réponses vivent dans Redis, partagées entre toutes les instances de la passerelle, si bien que la limite est appliquée de manière cohérente quelle que soit l'instance sur laquelle une requête atterrit. Il a été explicitement conçu autour d'une dégradation gracieuse : un pic soudain de trafic x10 est régulé et mis en file d'attente en périphérie, si bien que le backend voit une courbe lisse et absorbable au lieu d'un mur — la différence entre une réponse lente et une panne totale.
// Client work previews are demoed live, not shipped as
// downloadable source — ask us for a walkthrough.