Stockage et diffusion des médias
Stockage local, serveurs de stockage externes (S3, FTP, WebDAV) et le proxy média sécurisé.
TubePress conserve chaque vidéo téléversée, ses renditions transcodées et ses aperçus sur disque, et peut les transférer de manière transparente vers un ou plusieurs serveurs de stockage externes. Cette page explique où les fichiers sont stockés, comment le système de stockages médias les répartit entre les backends, et comment les médias parviennent aux visiteurs sans exposer vos fichiers bruts.
Le stockage est configuré sous /admin/settings?tab=storage. Vous pouvez fonctionner entièrement à partir du disque local, ou ajouter des backends FTP, compatibles S3 et WebDAV et laisser TubePress les remplir à tour de rôle.
Comment TubePress stocke les médias
Les téléversements se trouvent sous public/uploads/. Chaque vidéo dispose de son propre dossier — le video_folder de la vidéo — qui contient la source originale aux côtés de chaque rendition produite par le transcodeur et des petites ressources dont le lecteur a besoin :
public/uploads/
videos/
a1b2c3d4.../ one folder per video (video_folder)
video.mp4 original upload (source)
video_1080p.mp4 processed source rendition
video_720p.mp4 transcoded rendition
video_480p.mp4 transcoded rendition
timeline.vtt scrub-preview sprite map
preview.mp4 hover-preview clip
thumbnails/ poster images
watermark/ watermark PNG
intros/ pre-roll / post-roll clips
branding/ logo, favicon, backgroundLe transcodeur découvre la source en recherchant le fichier video_<height>p.mp4 le plus élevé, avec un repli vers un fichier brut video.mp4, .webm ou .ogg. Les renditions inférieures sont écrites dans le même dossier, de sorte qu'un seul répertoire contient tout ce dont une vidéo a besoin. Voir Transcodage pour la génération de ces renditions.
videos/ ne contient jamais que les éléments en cours de téléversement ou de transcodage.Serveurs de stockage externes
Le système de stockages médias vous permet d'enregistrer autant de backends que vous le souhaitez. Les nouvelles vidéos vont toujours vers le stockage par défaut ; lorsqu'un stockage dépasse son seuil d'utilisation disque, TubePress bascule automatiquement les nouveaux téléversements vers le suivant disponible. Les vidéos existantes continuent d'être servies depuis l'endroit où elles ont été écrites, car chaque vidéo enregistre son propre storage_id.
Quatre types de backends sont pris en charge — rien d'autre :
| Type | Utilisation | Champs de connexion |
|---|---|---|
| Local | Un serveur unique, ou pour démarrer | Aucun — servi depuis public/uploads |
| FTP | VPS de stockage économique ou seedbox | Hôte, port (21), utilisateur, mot de passe, chemin distant, SSL/TLS, passif |
| S3 | AWS S3, DigitalOcean Spaces, Backblaze, MinIO | Clé d'accès, secret, bucket, région, endpoint, préfixe |
| WebDAV | Nextcloud et autres hôtes WebDAV | URL WebDAV, utilisateur, mot de passe |
Chaque stockage distant dispose également de quelques paramètres opérationnels :
Ajouter un backend de stockage
- Ouvrir l'éditeur de stockage. Aller sur
/admin/settings?tab=storageet cliquer sur Add Storage. - Choisir un type et le nommer. Choisir Local, FTP, S3 ou WebDAV. Le formulaire s'adapte pour n'afficher que les champs nécessaires à ce type.
- Saisir l'URL média et les identifiants. Définir l'URL média publique, puis l'hôte/les clés/le chemin pour le backend. Laisser un mot de passe vide lors de la modification pour conserver celui enregistré.
- Définir les options opérationnelles. Choisir le statut, le seuil d'utilisation disque maximal, et si les URLs doivent être signées.
- Tester et enregistrer. L'enregistrement effectue d'abord un test de connexion (et une vérification du script de surveillance si vous en avez fourni un). Corriger les vérifications échouées, puis enregistrer. Marquer éventuellement comme stockage par défaut pour que les nouveaux téléversements y soient dirigés.
https://cdn.example.com). Ce n'est pas l'endpoint FTP/S3 — les confondre est la cause la plus fréquente de problèmes de lecture après un changement.Le moniteur de stockage
Pour les backends distants, TubePress peut surveiller l'espace disque et l'état du stockage à l'aide d'un petit script PHP que vous installez sur le serveur de stockage. Dans le panneau Surveillance du disque de l'éditeur de stockage, cliquez sur Télécharger le script de surveillance (servi depuis /api/storage-monitor-download), téléversez-le sur votre serveur distant, puis collez son URL publique dans le champ URL du script de surveillance.
Une fois connecté, l'éditeur affiche l'utilisation disque en temps réel et l'heure du dernier contrôle, et le seuil de basculement automatique utilise ces données pour savoir quand un backend est plein. Le script est sécurisé afin que seul votre CMS puisse l'interroger.
Livraison sécurisée des médias
Lorsque les URLs sécurisées sont activées pour un stockage, TubePress ne fournit jamais de chemin de fichier direct. À la place, il signe un lien court et limité dans le temps, acheminé via /media/ :
/media/{token}/{expires}/{path}403. La durée de vie par défaut est de six heures.uploads/videos/… demandé.Le token est recalculé et vérifié côté serveur à chaque requête. Pour un stockage local, TubePress diffuse le fichier directement avec prise en charge des plages HTTP (la navigation temporelle fonctionne ainsi) ; pour un stockage distant, il vérifie le token puis émet une redirection 302 vers le fichier sur votre CDN. La vidéo brute est également limitée en débit au niveau du serveur web : l'éditeur de stockage génère un extrait nginx prêt à coller qui plafonne le streaming après les premiers mégaoctets, tout en permettant aux processus de transcodage de télécharger à pleine vitesse avec une clé.
CDN & Cloudflare
TubePress est conçu pour fonctionner confortablement derrière Cloudflare. Deux éléments sont importants :
- Les téléversements fragmentés contournent la limite de 100 Mo. Les résultats de transcodage sont renvoyés vers le CMS en morceaux via
/api/transcode-upload-chunk, de sorte que les requêtes individuelles restent sous la limite de 100 Mo du forfait gratuit de Cloudflare, quelle que soit la taille de la rendition. - Ressources en cache long, invalidées à chaque version. Les ressources statiques sont servies avec des en-têtes de cache longs et immuables, invalidés par un paramètre de version à chaque mise à jour, de sorte qu'un proxy peut mettre en cache de manière agressive sans jamais servir un fichier périmé.
L'extrait nginx par stockage ajoute des en-têtes expires appropriés pour la vidéo et l'emplacement interne optionnel /media/ utilisé pour la livraison locale sécurisée, de sorte que vous pouvez l'insérer directement dans votre configuration de site.
Étapes suivantes
Toujours bloqué ?
Ouvrez un ticket depuis votre tableau de bord et notre équipe vous assistera.