Cas client · Produit open source

ByteSync — Une alternative open source aux outils de synchronisation traditionnels

Comment nous avons conçu, de zéro à la mise en production, un système client/serveur de synchronisation de fichiers, fiable, sécurisé et capable de gérer des volumes importants.

100 %Open source
AES-256Chiffrement bout en bout
10 Go+Fichiers gérés sans dégradation
.NETArchitecture cross-platform

Synchroniser des fichiers, sans sacrifier la confidentialité

Les solutions de synchronisation grand public posent trois problèmes structurels pour un usage professionnel : les fichiers transitent sur des serveurs tiers, la maîtrise des données est limitée, et les volumes importants déclenchent des comportements imprévisibles (interruptions, plafonds cachés, ralentissements).

L'objectif de ByteSync était simple à formuler, beaucoup moins à réaliser : offrir un outil de synchronisation auto-hébergeable, où les fichiers restent chiffrés de bout en bout, et où l'utilisateur garde le contrôle complet sur ses données.

Concevoir pour durer, pas pour démontrer

Un projet open source qui prétend remplacer un outil quotidien doit tenir trois engagements implicites : ne pas perdre de données, gérer les conflits intelligemment, et rester maintenable sur plusieurs années sans accumuler de dette technique.

C'est exactement le terrain sur lequel l'expertise senior et le pragmatisme architectural font la différence.

Trois problèmes structurants à résoudre

Chiffrement bout en bout

Les fichiers doivent être inintelligibles pour le serveur d'orchestration lui-même. Aucun compromis acceptable sur ce point : l'authentification, l'échange de clés et le transport ont tous été conçus avec cette contrainte comme axe central.

Fichiers volumineux et incrémental

Synchroniser un fichier de 10 Go ne doit pas signifier le retransmettre intégralement à chaque modification. Une approche par blocs et par hachage permet un transfert incrémental fiable, même sur des réseaux instables.

Résolution de conflits

Deux clients modifient le même fichier hors ligne. Que se passe-t-il ? La réponse "le dernier qui se reconnecte gagne" est inacceptable. Une logique de détection et d'arbitrage explicite préserve les modifications de chaque utilisateur.

Client/serveur découplé, orchestration légère

L'architecture repose sur trois composants clairement séparés :

  • Un client (Windows, Linux, macOS) qui chiffre localement avant tout envoi et gère le suivi des modifications.
  • Un serveur d'orchestration qui ne stocke jamais les fichiers en clair, mais coordonne les transferts entre clients et gère les sessions.
  • Un stockage cloud (auto-hébergé ou compatible S3) pour les blocs chiffrés, totalement opaque à tout observateur intermédiaire.

Ce découplage permet aux utilisateurs de choisir leur infrastructure et facilite les déploiements progressifs.

Stack technique

.NET cross-platform · ASP.NET pour l'orchestration · Stockage compatible S3 · Algorithmes de hachage et chiffrement standards (AES-256, SHA-256) · Distribution open source sous licence permissive.

.NET ASP.NET AES-256 S3 compatible Open source

Ce que ce projet démontre

01

Conception produit complète

De l'arbitrage du périmètre à la mise en production, en passant par la documentation technique et la stratégie de release. Pas seulement du code : un produit utilisable et adopté.

02

Décisions architecturales long terme

Les choix structurants (chiffrement, découpage en blocs, séparation des responsabilités) ont été pris très tôt et tiennent encore aujourd'hui, sans nécessiter de refonte.

03

Maintenabilité d'une base complexe

Le code reste lisible, modulaire et testable, même sur des sujets délicats (cryptographie, gestion d'état distribué, synchronisation concurrente). C'est l'enjeu invisible mais décisif.

04

Transparence et confiance

Le code open source permet à n'importe quel utilisateur expert de vérifier les promesses de sécurité. C'est aussi un engagement explicite : ce que nous prétendons faire, vous pouvez le contrôler.

Si votre besoin ressemble à …

ByteSync illustre ce que nous savons faire : un produit complet, des décisions techniques solides, une attention particulière à la sécurité et à la durée de vie du logiciel. Si votre situation ressemble à l'un des cas suivants, il est probable que nous puissions vous aider.

Votre projet n'est pas exactement comme ByteSync ?

C'est presque toujours le cas. Un premier échange permet de clarifier ce qui est réellement comparable, et ce qui ne l'est pas.

Discuter de mon projet