Téléchargements numériques : correctif de persistance et livraison automatique pour les commandes passées

13 septembre 2026

Aujourd’hui, nous avons corrigé un bug qui faisait disparaître certains fichiers de téléchargement numérique après les mises à jour des serveurs — et, tout aussi important, nous avons fait en sorte que les acheteurs obtiennent automatiquement l’accès dès qu’un vendeur (re-)téléverse un fichier.

Ce qui s’est passé

Quelques acheteurs ont vu « file not found on disk » (fichier introuvable sur le disque) en cliquant sur le bouton de téléchargement dans Mes téléchargements, alors même que leur commande était payée et que l’entrée de téléchargement existait.

La cause technique

Notre service de jeu fonctionne dans un conteneur Docker sur chaque VPS régional. Les fichiers téléversés sont écrits dans /var/lib/erleuchtung/shop-downloads — qui est censé être un dossier persistant sur le serveur hôte, monté dans le conteneur.

Le montage existait dans notre configuration de développement, mais manquait dans le fichier compose de déploiement que notre agent de mise à jour installe sur les nœuds VPS. En conséquence, les fichiers téléversés étaient stockés dans la couche système du conteneur. À chaque recréation du conteneur lors d’une mise à jour, cette couche était supprimée — les fichiers disparaissaient, tandis que les enregistrements en base de données (stockés dans PostgreSQL) survivaient.

Le résultat : une entrée de téléchargement valide pointant vers un fichier qui n’existait plus.

Ce que nous avons corrigé

  • Stockage persistant sur tous les nĹ“uds. Le rĂ©pertoire de tĂ©lĂ©chargement est dĂ©sormais correctement montĂ© sur le stockage hĂ´te de tous les serveurs rĂ©gionaux (US, IN, EU2, SG et notre nĹ“ud de staging MAAS). Les tĂ©lĂ©versements survivent aux mises Ă  jour et aux recrĂ©ations de conteneurs.
  • Backfill automatique lors du tĂ©lĂ©versement. Auparavant, l’accès au tĂ©lĂ©chargement n’était accordĂ© qu’au moment du paiement — et uniquement pour les fichiers existant Ă  ce moment-lĂ . DĂ©sormais, lorsqu’un vendeur tĂ©lĂ©verse un fichier sur un produit, il est automatiquement accordĂ© Ă  tous les acheteurs ayant une commande payĂ©e pour ce produit, avec une notification instantanĂ©e.
  • Liste de tĂ©lĂ©chargements auto-rĂ©paratrice. L’ouverture de « Mes tĂ©lĂ©chargements » rĂ©pare dĂ©sormais les accès manquants pour toutes vos commandes payĂ©es — les anciens achats se rĂ©parent d’eux-mĂŞmes.
  • Attribution Ă  l’expĂ©dition. Lorsqu’un vendeur marque une commande comme expĂ©diĂ©e/livrĂ©e, les fichiers joints sont accordĂ©s immĂ©diatement — les biens numĂ©riques sont dus Ă  la livraison.

Ce que les vendeurs doivent faire

Les fichiers téléversés avant ce correctif et perdus lors d’une mise à jour ne peuvent pas être récupérés — ils n’ont existé que dans une couche de conteneur supprimée.

Si vous avez téléversé des fichiers auparavant : ouvrez votre produit, supprimez l’entrée de téléchargement obsolète et téléversez à nouveau le fichier. Au moment du téléversement, tous les acheteurs passés retrouvent automatiquement l’accès — aucun travail manuel nécessaire.

Un mot sur la transparence

Les e-mails de notification « expédié » que certains d’entre vous ont reçus mentionnaient des fichiers téléchargeables qui n’avaient en réalité jamais été joints — ce texte était la note d’expédition du vendeur, pas une livraison de fichier. Avec cette version, le bouton de téléchargement dans « Mes téléchargements » est l’unique source de vérité : si un fichier y figure, il existe sur le serveur et peut être téléchargé.

Merci de votre patience — et un merci tout particulier aux membres de la communauté qui ont signalé le problème rapidement.

— L’équipe Erleuchtung