Fondations
Sync-in repose sur des choix de conception qui privilégient la maîtrise du stockage, la cohérence des accès et la scalabilité opérationnelle.
- Stockage lisible et réversible, avec des fichiers conservés dans leur système de fichiers d'origine.
- Métadonnées à la demande, créées uniquement lorsqu'une fonctionnalité en a besoin.
- Scalabilité opérationnelle, sans miroir complet obligatoire de l'arborescence en base.
- Gouvernance collaborative, avec espaces collaboratifs, permissions granulaires, ancrage virtuel et délégations de partage gouvernables.
- Sécurité intégrée, fondée sur des règles homogènes de permissions, de verrouillage et de traçabilité.
- Cohérence des accès, quel que soit le point d'entrée : interface web, WebDAV, synchronisation, éditeurs ou API.
- Interopérabilité native, grâce à WebDAV, aux clients de synchronisation et aux intégrations documentaires.
Ces choix se traduisent par plusieurs mécanismes clés qui structurent l'architecture de Sync-in.
Pour situer ces choix face aux autres architectures EFSS open source, consultez le comparatif de conception.
Modèle de stockage et réversibilité
Réversibilité du stockage
Les fichiers ne sont pas absorbés ni stockés dans une base de données : ils restent accessibles directement sur le système de fichiers. Cette approche garantit à l'utilisateur la liberté de lire, sauvegarder, migrer ou traiter ses données avec d'autres outils, sans contrainte ni dépendance à Sync-in. Lorsque des changements interviennent sur le système de fichiers, Sync-in peut réconcilier l'état observé avec les métadonnées existantes afin de préserver la cohérence applicative.
L'état applicatif n'est pas inscrit dans les fichiers via des métadonnées de système de fichiers spécifiques au backend, ce qui rend les copies, restaurations et migrations moins dépendantes d'attributs de stockage cachés.
👉 Voir aussi : Comparatif de conception
Métadonnées ciblées et réconciliation du système de fichiers
Pour les métadonnées collaboratives, Sync-in n'indexe que les fichiers qui portent un état applicatif utile : commentaires, partages, ancrages, synchronisations, permissions, activités, etc. La base de données n'agit pas comme un miroir complet et obligatoire de l'arborescence : elle stocke l'état fonctionnel nécessaire à la plateforme. Cette approche garde la croissance de la base de données plus proche de l'usage collaboratif réel, réduit la surcharge d'indexation sur les très grandes arborescences et améliore la fluidité comme les performances globales de la plateforme.
Ce modèle renforce aussi la scalabilité : l'ajout de millions de fichiers n'entraîne pas mécaniquement la création de millions d'entrées applicatives. La charge de la base de données augmente principalement avec les fonctionnalités réellement utilisées, comme les partages, synchronisations, permissions ou activités.
Lorsqu'un fichier déjà associé à des métadonnées évolue sur le système de fichiers, Sync-in peut réconcilier l'état réel du stockage avec les métadonnées existantes. Cette logique préserve la cohérence des partages, ancrages, synchronisations, permissions et activités sans imposer un cache global de tous les fichiers.
L'indexation en texte intégral est un mécanisme distinct : elle concerne le contenu des documents, peut être activée ou désactivée, et n'a pas vocation à être enfermée dans la base de données. Elle peut s'appuyer sur des moteurs spécialisés, comme Elasticsearch, mieux adaptés à ce type de recherche. Les résultats restent filtrés par les droits d'accès de l'utilisateur, y compris lorsqu'ils proviennent de l'index de contenu.
Ancrage virtuel sans duplication
Le mécanisme d'ancrage permet de lier un fichier ou dossier à un espace sans déplacer ni dupliquer le contenu.
L'élément est accessible comme s'il était physiquement présent (interface, WebDAV, API), tout en bénéficiant des règles de permission
propres à l'espace.
Cette logique évite la redondance et offre une meilleure maîtrise de la diffusion des données.
Les fichiers ancrés restent soumis à un double contrôle : les droits de l'emplacement d'origine et ceux de l'espace collaboratif doivent autoriser l'action. Cette règle empêche qu'un espace élargisse indirectement les droits définis par le propriétaire du fichier.
Cette logique s'applique aussi aux emplacements externes : un administrateur peut rattacher un répertoire existant du serveur à un partage ou à un espace, sans l'importer dans un stockage applicatif spécifique.
👉 Voir : Concept des fichiers ancrés et Emplacement externe
Droits et gouvernance
Délégation gouvernable et partage imbriqué
Avec Sync-in, le partage constitue une délégation persistante de droits. Un partage créé depuis un autre conserve la référence de son parent immédiat, et les permissions qu'il peut transmettre sont limitées à celles disponibles depuis ce parent. Les descendants peuvent être parcourus récursivement et sont supprimés en cascade avec la branche dont ils dépendent.
Cette arborescence parent-enfant maintient les partages imbriqués sous gouvernance : les propriétaires et les managers d'espaces collaboratifs peuvent consulter, ajuster ou révoquer les partages descendants, même lorsque l'accès a été redélégué par plusieurs membres successifs.
👉 Voir : Souveraineté, Gestion des partages dans les espaces collaboratifs et Gestion des partages enfants.
Gouvernance des espaces collaboratifs et visibilité opérationnelle
Les espaces collaboratifs définissent un rôle de manager, chargé de superviser les fichiers, membres, partages et permissions
associés à l'espace.
La gouvernance inclut également la gestion des fichiers ancrés, avec des règles strictes garantissant que les droits originaux attachés au fichier
restent inchangés, même lorsque l'ancre est administrée depuis l'espace.
Cette approche offre une gouvernance claire et prête à l'emploi pour les espaces collaboratifs, avec un modèle de responsabilité explicite.
Même lorsqu'un fichier est partagé ou ancré ailleurs, sa consommation reste rattachée à son emplacement d'origine. Les quotas conservent ainsi une responsabilité claire, indépendante des différents contextes depuis lesquels le fichier est consulté.
👉 Voir : Management des espaces collaboratifs
Séparation et révocabilité des accès
Sync-in sépare les types d'accès selon leur usage : utilisateurs internes, invités, liens invités, groupes, clients WebDAV, application de bureau et outils en ligne de commande. Cette séparation permet d'appliquer le bon niveau de droit à chaque contexte, sans exposer inutilement le compte principal.
L'accès WebDAV peut utiliser des mots de passe d'application dédiés, révocables, expirables et traçables. Les clients de synchronisation de l'application de bureau et en ligne de commande disposent de leur propre mécanisme d'enregistrement : ils demandent une authentification initiale puis une ré-authentification périodique, et restent soumis aux mêmes principes de révocation, d'expiration et de traçabilité.
Pour les environnements sensibles, la visibilité des utilisateurs et groupes peut être restreinte. Cela réduit la découverte inutile des comptes et permet de construire des espaces de collaboration plus cloisonnés.
Sync-in peut également s'intégrer à des mécanismes d'authentification standards comme OIDC ou LDAP, et renforcer les comptes avec la MFA lorsque nécessaire. Ces options complètent le modèle d'accès sans remplacer les règles internes de permissions, de partage et de traçabilité.
Cohérence entre les modes d'accès
Cohérence applicative
Les mécanismes centraux de Sync-in (permissions, verrouillage, WebDAV, synchronisation, partages, ancrages et activités) reposent sur les mêmes services métier. Cette organisation évite les comportements divergents selon le mode d'accès utilisé : interface web, WebDAV, client de synchronisation, éditeur collaboratif ou API.
Cette cohérence permet de faire évoluer la plateforme sans dupliquer les règles de sécurité ni multiplier les chemins d'exécution spécifiques à chaque protocole.
Verrouillage unifié
Le système de verrouillage unifié assure la cohérence transactionnelle et l'intégrité des fichiers sur l'ensemble de la plateforme, indépendamment du mode d'accès utilisé : interface web, WebDAV, clients de synchronisation, éditeurs collaboratifs ou API.
L'implémentation de ce système assure une gestion déterministe des accès concurrents, en sérialisant les opérations afin de prévenir toute corruption d'état et d'éliminer les conflits liés aux écritures simultanées.
👉 Voir : Gestion des verrous de fichiers
Synchronisation optimisée et intégrée
Sync-in propose un système de synchronisation de fichiers natif, optimisé et cohérent avec l'interface Web.
Il s'appuie sur les API existantes pour garantir un comportement uniforme en matière de contrôle, sécurité et traçabilité.
Grâce à la gestion des actions de copie et déplacement la consommation réseau est réduite.
Cette fonctionnalité s'accompagne de nombreux mécanismes complémentaires, tels que la reprise automatique des transferts, la simulation des
synchronisations, la protection contre la perte de données, filtrage par regexp...
La synchronisation privilégie ainsi la sécurité opérationnelle autant que la vitesse : simulation préalable, reprise des transferts, protection contre la perte de données et optimisation des déplacements limitent les erreurs comme les transferts inutiles.
👉 Voir : Synchronisation
Implémentation native du protocole WebDAV
Là où d'autres solutions reposent sur des bibliothèques externes (comme sabre-dav en PHP), Sync-in possède sa propre implémentation WebDAV
conforme à la RFC 4918 et développée en TypeScript.
Ce choix technique garantit un support natif, des performances optimisées et une intégration homogène dans le modèle de sécurité global de la
plateforme.
👉 Voir : WebDAV