← Toutes les réalisations

PROJET D’ÉQUIPE · SUPINFO · 2025–2026

SUPFile.

Stockage, partage et frontières d’accès.

Projet SUPINFO en équipe : contribuer aux flux OAuth, aux permissions de partage et au durcissement d’une plateforme de stockage documentaire.

ReactTypeScriptNode.jsPostgreSQLMinIODocker

Un produit collectif

SUPFile est une plateforme de stockage et de partage de fichiers, avec une interface web, une application mobile, un client de synchronisation et un assistant documentaire. Le projet a été réalisé avec Paul Mazzon, Rudy Gault et Hugo Bouland.

Je présente ici ma contribution à cette réalisation commune. Les fonctionnalités du produit ne correspondent pas toutes à du code que j’ai personnellement écrit.

Ma contribution

AUTHENTIFICATION

Revoir le retour OAuth

Contribution au remplacement du jeton transmis dans le retour OAuth par un code échangeable auprès du backend, avec adaptation du client web.

AUTORISATIONS

Respecter les frontières du partage

Contribution aux contrôles de lecture des dossiers partagés et à leur export, avec des tests sur les cas d’accès associés.

DURCISSEMENT

Traiter les flux sensibles

Validation des entrées MFA, masquage de données sensibles dans les exports et ajustement des contrôles de sécurité de la CI.

Les liens de cette étude de cas permettent de suivre les changements de code et les tests associés à chaque contribution.

Les principales frontières

  1. ClientsWeb React · mobile Expo · synchronisation
  2. APINode.js / Express · authentification et droits
  3. DonnéesPostgreSQL · fichiers dans MinIO
  4. Services documentairesOnlyOffice · assistant Bobby
Vue simplifiée issue de la documentation du projet. L’accès aux métadonnées, aux fichiers et à leur traitement constitue une frontière à contrôler à chaque flux. Ce schéma ne représente pas un audit exhaustif.

Risques, décisions et limites

Actif / risque Mesure ou démarche Limite
Jetons d’accès exposés dans un retour de connexion Le changement OAuth introduit un échange de code avec le backend. La sécurité dépend aussi de la durée de vie, de l’usage unique et des autres voies de connexion.
Lecture ou export hors du dossier partagé Contrôles de la racine autorisée et tests des services de fichiers et dossiers. Quelques tests ciblés ne garantissent pas la couverture de toutes les routes.
Données sensibles dans un export Filtrage des champs sensibles et masquage des jetons dans le changement examiné. Les autres formats et chemins d’export doivent être considérés séparément.
Traitement documentaire et accès aux clés Identifier quels services peuvent lire les fichiers et dans quel contexte. La présence d’un chiffrement au repos ne prouve pas un chiffrement de bout en bout.

Le projet vise un déploiement maîtrisé et un stockage hébergé en France. Ces objectifs ne valent pas certification de souveraineté ni preuve indépendante de conformité. L’IA documentaire et les clés de déchiffrement font partie des sujets à examiner avant une telle affirmation.

Ce qui est vérifiable

Le commit sur les dossiers partagés modifie les services concernés et leurs tests unitaires. Celui sur OAuth modifie le contrôleur, la route d’échange et le client. Les liens suivants permettent de suivre ces décisions au-delà d’une liste de technologies.

Cette étude est une lecture de contributions versionnées, pas une attestation que tous les tests du dépôt passent aujourd’hui ou que l’application a subi un pentest complet.

Ce que je retiens

Authentifier une personne et autoriser une opération sont deux problèmes distincts. Le partage et les traitements documentaires multiplient les chemins d’accès : un contrôle doit suivre le fichier et son contexte, pas seulement protéger l’écran qui l’affiche.